MSA設定開始[2]Jenkins SSH設定
🔑リリースキー apt-get install ssh
apt-get install openssh-server
/etc/init.d/ssh restart
service ssh restart
keyを生成するために、jenkins
サーバにsshをインストールします.ssh-keygen -t rsa
次にkeyを生成するコマンドを実行します.
入力したい情報があれば入力すればいいのですが、いずれもEnterに入ることができます.
鍵は正常に生成されます.今、この鍵を원격으로 붙을 서버
に渡します.
発行された鍵の位置は/${linux 계정}/.ssh/
の下にある.
2つのファイルを確認し、公開鍵を원격으로 붙을 서버
にコピーして転送すればいいです.
ファイルをそのままコピーして別の場所に貼り付け、サーバーに貼り付けます.
원격으로 붙을 서버
で~/.ssh/
が確認された場合、許可されたkeysファイルが存在し、そのファイルに公開鍵の内容がインポートされていない場合、またはファイルがない場合は、名前に従って作成するだけでよい.
👨💼 Jekins設定
まずPublicsh over SSHプラグインをインストールします.
インストールされている場合は、インストールする必要はありません.
システム設定にSSH設定が追加されていることがわかります.
keyに私たちが発行した秘密鍵の値を入れます.
SSHを追加し、次のように入力します.
Key:Private Key値を入力
Name:任意に入力可能
Hostname:IPアクセス
Username:IPユーザーへのアクセス
リモートディレクトリ:アクセスはどこから開始しますか?
Jenkins Docker ContainerからDocker Serverを実行するLazBerryFiサーバにコマンドを送信するように設定したので、内部ip番号に接続しました.認証IP:portに接続した後,5回のリクエストのうち1回が成功したという奇妙な結果を得た.
👊テスト
テストパイプラインを作成し、正常に動作しているかどうかを確認します.pipeline {
agent any
stages {
stage('Test') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(
configName: 'publisher',
transfers: [
sshTransfer(
execCommand: 'sudo mkdir /test'
)
]
)
])
}
}
}
}
「事前構築フォルダ」リストを確認してtestフォルダがないことを確認します.
構築に成功した後
testフォルダが作成されたことを確認できます.
🔨Jenkinsのパッケージングと導入
既存のconfigパイプラインを変更します.pipeline {
agent any
stages {
stage('Clone') {
steps {
git branch: 'main', credentialsId: '8e8302f1-6b98-4bfe-9981-2e027e49089b', url: 'https://github.com/juno-choi/jayeon-config.git'
}
}
stage('Clean') {
steps {
sh 'cd /var/jenkins_home/workspace/config'
sh 'chmod +x gradlew'
sh './gradlew clean'
}
}
stage('Build') {
steps {
sh './gradlew build'
}
}
stage('HUB Push') {
steps {
sh 'docker build -t ililil9482/config-server:1.0 .'
sh 'docker push ililil9482/config-server:1.0'
}
}
stage('Down') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(configName: 'publisher',
transfers: [
sshTransfer(cleanRemote: false,
excludes: '',
execCommand: 'cd /msa/config && sudo docker-compose down',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '')
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false)
])
}
}
stage('Up') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(configName: 'publisher',
transfers: [
sshTransfer(cleanRemote: false,
excludes: '',
execCommand: 'cd /msa/config && sudo docker-compose up -d',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '')
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false)
])
}
}
}
}
既存のdocker hubにpushを加えた論理には、cocomeを用いてコンテナを往復移動する操作も追加されている.
コンテナは22時間前に開いたので、ジェンキンスに試してもらいましょう.
正常に稼働し、コンテナも正常に再稼働した.
これはジェンキンスサーバからソースコードを抽出し、ソースコードを構築し、jarをdocker hubにアップロードして使用する方法です.ここで私の疑問は、画像化した後、ジェンキンスサーバからソースコードを削除すべきかどうかです.すべて容量がいっぱいになるので、必要なときだけ引いて消したほうがいいのではないでしょうか.
その部分を修正したかったのですが...だめです.理由が見つからない...これからは必ず改善や他の方法があります.ぜひ探してみてください!
挑戦する方法はif test-d/var/jenkins home/workspace/configである.then rm -r/var/jenkins_home/workspace/*; 私はfiコマンドでconfigフォルダが存在するときに削除コマンドを実行したいだけです.だめだよ...理由が分からない.
Reference
この問題について(MSA設定開始[2]Jenkins SSH設定), 我々は、より多くの情報をここで見つけました
https://velog.io/@ililil9482/MSA-세팅-시작-2-Jenkins-SSH-설정
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
apt-get install ssh
apt-get install openssh-server
/etc/init.d/ssh restart
service ssh restart
ssh-keygen -t rsa
まずPublicsh over SSHプラグインをインストールします.
インストールされている場合は、インストールする必要はありません.
システム設定にSSH設定が追加されていることがわかります.
keyに私たちが発行した秘密鍵の値を入れます.
SSHを追加し、次のように入力します.
Key:Private Key値を入力
Name:任意に入力可能
Hostname:IPアクセス
Username:IPユーザーへのアクセス
リモートディレクトリ:アクセスはどこから開始しますか?
Jenkins Docker ContainerからDocker Serverを実行するLazBerryFiサーバにコマンドを送信するように設定したので、内部ip番号に接続しました.認証IP:portに接続した後,5回のリクエストのうち1回が成功したという奇妙な結果を得た.
👊テスト
テストパイプラインを作成し、正常に動作しているかどうかを確認します.pipeline {
agent any
stages {
stage('Test') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(
configName: 'publisher',
transfers: [
sshTransfer(
execCommand: 'sudo mkdir /test'
)
]
)
])
}
}
}
}
「事前構築フォルダ」リストを確認してtestフォルダがないことを確認します.
構築に成功した後
testフォルダが作成されたことを確認できます.
🔨Jenkinsのパッケージングと導入
既存のconfigパイプラインを変更します.pipeline {
agent any
stages {
stage('Clone') {
steps {
git branch: 'main', credentialsId: '8e8302f1-6b98-4bfe-9981-2e027e49089b', url: 'https://github.com/juno-choi/jayeon-config.git'
}
}
stage('Clean') {
steps {
sh 'cd /var/jenkins_home/workspace/config'
sh 'chmod +x gradlew'
sh './gradlew clean'
}
}
stage('Build') {
steps {
sh './gradlew build'
}
}
stage('HUB Push') {
steps {
sh 'docker build -t ililil9482/config-server:1.0 .'
sh 'docker push ililil9482/config-server:1.0'
}
}
stage('Down') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(configName: 'publisher',
transfers: [
sshTransfer(cleanRemote: false,
excludes: '',
execCommand: 'cd /msa/config && sudo docker-compose down',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '')
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false)
])
}
}
stage('Up') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(configName: 'publisher',
transfers: [
sshTransfer(cleanRemote: false,
excludes: '',
execCommand: 'cd /msa/config && sudo docker-compose up -d',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '')
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false)
])
}
}
}
}
既存のdocker hubにpushを加えた論理には、cocomeを用いてコンテナを往復移動する操作も追加されている.
コンテナは22時間前に開いたので、ジェンキンスに試してもらいましょう.
正常に稼働し、コンテナも正常に再稼働した.
これはジェンキンスサーバからソースコードを抽出し、ソースコードを構築し、jarをdocker hubにアップロードして使用する方法です.ここで私の疑問は、画像化した後、ジェンキンスサーバからソースコードを削除すべきかどうかです.すべて容量がいっぱいになるので、必要なときだけ引いて消したほうがいいのではないでしょうか.
その部分を修正したかったのですが...だめです.理由が見つからない...これからは必ず改善や他の方法があります.ぜひ探してみてください!
挑戦する方法はif test-d/var/jenkins home/workspace/configである.then rm -r/var/jenkins_home/workspace/*; 私はfiコマンドでconfigフォルダが存在するときに削除コマンドを実行したいだけです.だめだよ...理由が分からない.
Reference
この問題について(MSA設定開始[2]Jenkins SSH設定), 我々は、より多くの情報をここで見つけました
https://velog.io/@ililil9482/MSA-세팅-시작-2-Jenkins-SSH-설정
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
pipeline {
agent any
stages {
stage('Test') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(
configName: 'publisher',
transfers: [
sshTransfer(
execCommand: 'sudo mkdir /test'
)
]
)
])
}
}
}
}
既存のconfigパイプラインを変更します.
pipeline {
agent any
stages {
stage('Clone') {
steps {
git branch: 'main', credentialsId: '8e8302f1-6b98-4bfe-9981-2e027e49089b', url: 'https://github.com/juno-choi/jayeon-config.git'
}
}
stage('Clean') {
steps {
sh 'cd /var/jenkins_home/workspace/config'
sh 'chmod +x gradlew'
sh './gradlew clean'
}
}
stage('Build') {
steps {
sh './gradlew build'
}
}
stage('HUB Push') {
steps {
sh 'docker build -t ililil9482/config-server:1.0 .'
sh 'docker push ililil9482/config-server:1.0'
}
}
stage('Down') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(configName: 'publisher',
transfers: [
sshTransfer(cleanRemote: false,
excludes: '',
execCommand: 'cd /msa/config && sudo docker-compose down',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '')
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false)
])
}
}
stage('Up') {
steps {
sshPublisher(publishers: [
sshPublisherDesc(configName: 'publisher',
transfers: [
sshTransfer(cleanRemote: false,
excludes: '',
execCommand: 'cd /msa/config && sudo docker-compose up -d',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '')
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false)
])
}
}
}
}
既存のdocker hubにpushを加えた論理には、cocomeを用いてコンテナを往復移動する操作も追加されている.コンテナは22時間前に開いたので、ジェンキンスに試してもらいましょう.
正常に稼働し、コンテナも正常に再稼働した.
これはジェンキンスサーバからソースコードを抽出し、ソースコードを構築し、jarをdocker hubにアップロードして使用する方法です.ここで私の疑問は、画像化した後、ジェンキンスサーバからソースコードを削除すべきかどうかです.すべて容量がいっぱいになるので、必要なときだけ引いて消したほうがいいのではないでしょうか.
その部分を修正したかったのですが...だめです.理由が見つからない...これからは必ず改善や他の方法があります.ぜひ探してみてください!
挑戦する方法はif test-d/var/jenkins home/workspace/configである.then rm -r/var/jenkins_home/workspace/*; 私はfiコマンドでconfigフォルダが存在するときに削除コマンドを実行したいだけです.だめだよ...理由が分からない.
Reference
この問題について(MSA設定開始[2]Jenkins SSH設定), 我々は、より多くの情報をここで見つけました https://velog.io/@ililil9482/MSA-세팅-시작-2-Jenkins-SSH-설정テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol