1. まず、サーバーにjdk、git、mavenの 3 つをインストールし、グローバル変数を設定します。
Enter を押して現在の環境変数を表示し、以下で使用する必要があるパスを覚えておいてください。
輸出
2. ジョブ全体を開始し、jenkins をインストールします
1. 画像をプルして画像を表示します
#画像パッケージを表示
ドッカー検索ジェンキンス
#ミラーパッケージのインストール
docker pull jenkins
#インストールが成功したかどうかを確認します (イメージ パッケージを確認します)
docker イメージ
2. docker ディレクトリをマウントする新しいフォルダーを作成します。
mkdir -pv /opt/docker/jenkins
3. 変更権限を追加しないと落とし穴に陥る
chown -R 1000 /opt/docker/jenkins
4. Jenkins を開始します。ここに穴があります
先ほど確認した Maven および JDK 環境変数のパスも、ファイル マウント用にここに配置されます。
そうしないと、ビルドの開始時に Maven と JDK が見つかりません。
docker run -d -p 9595:8080 -p 50000:50000
#コンテナ操作へのアクセスを容易にするために、コンテナに root 権限を持たせます
--privileged=true
--restart=常に
--名前ジェンキンス
#コンテナーの /var/jenkins_home パスはホスト /opt/docker/jenkins/ にマップされます
-v /opt/docker/jenkins:/var/jenkins_home
-v /etc/localtime:/etc/localtime
#jdk 環境マウント
-v /usr/local/src/jdk/jdk1.8:/usr/local/src/jdk/jdk1.8
#maven 環境マウント
-v /usr/local/src/maven/apache-maven-3.5.3:/usr/local/src/maven/apache-maven-3.5.3 jenkins/jenkins
5. パスワードを表示します:
設定したばかりのホストパスはどこにあるので、そこで確認してください
cat opt/docker/jenkins/secrets/initialAdminPassword
6.ブラウザにhttp://ip:
「9595」と入力して/
、jenkins ホームページにアクセスします。
先ほど確認したパスワードを入力してください
次に、プラグインのダウンロードページに移動し、推奨プラグインをインストールします
7. 続行するには管理者ユーザーを作成または使用できます。ここで管理者アカウントを選択して続行します。
入力後、ここをクリックして下にスライドし、パスワードを変更するオプションを見つけて、パスワードを変更します
8. プラグイン「Publish Over SSH」をダウンロードします。
ダウンロードしてインストールした後、Docker コンテナーで Jenkins を再起動することをお勧めします。
9. グローバルツール構成
ここで Maven を設定します。つまり、システム環境変数の Maven パスの表示を開始するだけです。
jdkをインストールします。つまり、システム環境変数jdkパスの表示を開始します。
下にスライドして、上記のように Maven を設定します
10. システム構成 - 環境変数、設定しないと落とし穴に落ちる
ここでのキーの設定はサーバー環境変数の名前であり、サーバー環境変数の名前を何でも入力してください。!!
11. 構成後、サーバーに戻り、Jenkins コンテナに入ります。
docker exec -it jenkins bas
12. SSH-KEY を構成し、コンテナーで実行します。
ssh-keygen
#3回入力してsshキーを生成します
13. 公開キーを確認してコピーします。
猫 ~/.ssh/id_rsa.pub
14. github、gitee、または gitlab を入力して ssh キーを構成します
ここでは gitlab 設定を使用し、ここで Ctrl+V を押します。
15. テストしてみよう
コンテナでコマンドを実行します。このインターフェイスが表示されたら、構成は成功しています。「yes」と入力して Enter キーを押し、認証が完了したことを示します。
git clone [email protected]:xxxx.git
16. プロジェクトを開始する
パイプラインプロジェクトを作成する
17. 設定
パラメータ化されたビルド プロセスの選択 - 文字列パラメータの選択
REPOSITORY_VERSION
#デフォルトのテストが行われる現在のコードブランチを表します
18. 下にスクロールしてパイプラインを見つけ、パイプライン スクリプトを作成します。
スクリプトを参照してください。 REPOSITORY プロジェクトの SSH アドレスを入力します。 REPOSITORY_VERSION は、構成したばかりのビルド パラメータです。
pipeline {
agent any
environment {
REPOSITORY="[email protected]:xxxxxx/cloud-test.git"
}
stages {
stage('拉取代码') {
steps {
echo "start fetch code from git:${REPOSITORY}"
deleteDir()
git branch: "${REPOSITORY_VERSION}", url: "${REPOSITORY}"
}
}
}
}
19. プルコードのテスト
ホームページに戻り、作成したばかりのプロジェクトを選択し、ボタンをクリックして実行します。
クリックして構築を開始します
ビルドが成功するとこのように表示されます
20. Maven を介してコードをビルドし、ssh を介して指定されたフォルダーにアップロードし、操作を実行します
まずはSSHの設定をします
「詳細」をクリックしてユーザー名とパスワードを入力します
最後に、[Test Conflguation] をクリックしてテストします。[Success] がポップアップ表示されたら、リンクが成功したことを意味します。
21. 今すぐパイプラインを変更します
(ここでは、指定したdocker jarパッケージフォルダーに直接アップロードし、古いバージョンを更新して置き換え、コンテナを再起動するコマンドを実行して、最新のjarパッケージをロードします)
pipeline {
agent any
environment {
REPOSITORY="[email protected]:xxxxxx/cloud-demo.git"
MODULE="testsystemserver"
}
stages {
stage('拉代码') {
steps {
echo "start fetch code from git:${REPOSITORY}"
deleteDir()
git branch: "${REPOSITORY_VERSION}", url: "${REPOSITORY}"
}
}
stage('编译代码') {
steps {
echo "start compile"
sh "cd common && mvn -U clean install package"
echo "compile project ................................"
sh "cd systemserver && mvn -U clean install package"
echo "compile testsystemserver................................"
}
}
stage('构建部署') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: '31', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'docker restart testsystemserver', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: 'opt/docker/jar', remoteDirectorySDF: false, removePrefix: 'systemserver/target/', sourceFiles: 'systemserver/target/*.jar')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
}
ステージ (「ビルド デプロイメント」) の下にあるものは、パイプライン構文を参照して生成できます。そうでない場合は、穴と穴が存在します。!!
エラー:Jenkins SSH: 0 ファイルを転送しました
クリックパイプライン構文
例:
例
jenkins でプロジェクトをビルドするときのコンソール出力ビルドのアドレスが
/var/lib/jenkins/workspace/test を
実行し、jenkins のサービス デプロイメントを表示します。対応するプロジェクトをビルドした後、生成されたターゲット パッケージのディレクトリは次のとおりです。/var/lib/jenkins/workspace/test/test-demo/target
したがって、ソースファイル(転送時にどのファイルと一致するかを示す)を入力する必要があります
テストデモ/ターゲット/*.jar
プレフィックスを削除 (操作は上記のソース ファイル ディレクトリに対するものです) を入力する必要があります
テストデモ/ターゲット/
リモート ディレクトリ (この操作は、設定されたサーバー ディレクトリに基づきます)。ここでのサーバー構成は / なので、ここに書く必要があります。/
Execコマンド(ファイル転送完了後にどのコマンドを実行するかという操作) ここではサービスを再起動するだけなので記入してください
docker restart テストシステムサーバー
次に、「パイプラインスクリプトの生成」をクリックして置き換えます。
会議を解散してください!!!!