Jenkinsが3つの構築方法を導入する詳細な手順

5019 ワード

導入の背景:
jenkins:                     CentOS 7.4C         IP:172.16.3.74
gitlab-11.5.3:             CentOS 7.4D         IP:172.16.4.74
 
この配置はすべて私の前のブログの構成に基づいて完成しました.
 
Jenkinsには3つの構築方法があります.
トリガ構築:開発環境の導入に使用され、開発者はgitlabプロジェクトのmasterブランチにpushコードまたはコードを統合することができ、jenkinsはコードを対応するサーバに配備する.
パラメトリック構築:jenkinsのインタフェースに対応するパラメータを入力するだけで、環境または事前オンライン環境の導入をテストするために使用されます.
タイミングコンストラクション:パラメータ化に基づいて追加され、毎日タイミングよくパッケージ化できます.
 
導入プロセスのトリガ:
1.まず、jenkinsホスト上でrootユーザの公開鍵とjenkinsユーザの公開鍵を生成する必要がある.
jenkinsユーザーはbashがデフォルトではないためです.だからjenkinsにbashを設定してコマンドを入力する必要があります.
[root@master testProject]# grep jenkins /etc/passwd
jenkins:x:982:976:Jenkins Automation Server:/var/lib/jenkins:/bin/false
[root@master ~]#usermod -s /bin/bash jenkins
[root@master testProject]# grep jenkins /etc/passwd
jenkins:x:982:976:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

 
2.公開鍵の生成:
[root@master ~]# ssh-keygen -t rsa
[root@master ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCq4LhWeHNqq34B7j2uL4Ss4EJWyZkWeNHrgsN/2IkaVPatLEJliDHGnPVnKQEejUmApjRofTzJ6eHryzr/7NYNYVoYY08gpVYer2Tct0EWp7V6IA+8OUrMYZYGXLVEBaj/SsTlp23sPZKYUfshGW4wFMBsTGtSNspsSl2MyBnNbO/VDNZUtkx18UwBocBdOLM0ogaT1Taa+/XOtTYs5tP1LWfZA/Wcbwih+9mZFZD55wsyUgIGEgQd9M88lhbHKzjTU9bVUPBOLwQVdcnsd5o/KduNidwY3+Pd+75hDXwE6o4xh5M0+pd6M+KyDMQLN8ZD51P1+91IDvp2W9uEQDCf [email protected]

 
[root@master ~]# su - jenkins
-bash-4.2$ ssh-keygen -t rsa
-bash-4.2$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6j4gWxtlwzuwEDBOHmuchiZgNRAdNTLHj+70TJY+lqTKM4YkYHvdD6ZXtmTafrHW5onMzzzdNr3xnsvuGVdxc7hzJ5KZ27bWAo4Ka2IhH2+KXaKxooqcVOsrHdzEOsoOM9fLgLzZgn674NRZky4lZTNxFb9Iu8nu3EgjIa2Juio/DM+IPmipy4u+qHWoJ2RJqVuNh+qiSrpXXnwYLEB28MoHbCZa2otHoIITAekYvTJfIyqfl5NT3IXG4+AaWhQ0sTsEw3qpB4Tgi3FTtVuVXvp0QrvCCN6UKS1/nIcaNU9KFak4bGjv7V7uE2MexWOjacLWuxByuF4/hLca08a0F [email protected]

 
 
3.生成された公開鍵ファイル(.ssh/id_rsa.pubコンテンツ)をgitlabサーバにコピーする:
追加が完了したら.
注意:jenkinsユーザーログインでrootユーザーを秘密認証する必要があります.そうしないと、トリガ構築を行うときに実行できません.Host key verification failedエラーが発生すると、jenkinsのデフォルトはjenkinsユーザーが設定したコマンドを実行しているため、スクリプトがsshになると失敗します.root@HOST_IPの場合、jenkinsはrootユーザーにログインして後のコマンドを実行する必要があります.jenkinsにrootを無密にログインさせて解決します.
 
[root@master ~]# 
Connection to 172.16.3.74 closed.
-bash-4.2$ ssh-copy-id -i .ssh/id_rsa.pub [email protected]
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
 
Number of key(s) added: 1
 
Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
 
-bash-4.2$

 
5.作成したgitlabライブラリを見つけ、jenkinsホストにダウンロードします.
ダウンロードプロセス;
[root@master ~]# git config --global user.name ljy
[root@master ~]# git config --global user.email [email protected]
[root@master ~]# git clone [email protected]:/root/testProject

6.トリガータスクの作成
7.git RepositoryのURLを選択する.
8.トリガ条件を設定する.
9.トリガスクリプトを作成し、トリガshellに書き込む.
[root@master ~]#cd testProject/
[root@master testProject]#cat jenkins_trigger.sh
#!/bin/bash
#
echo "test successful"
[root@master testProject]#chmod +x jenkins_trigger.sh

10.jenkinsàグローバルセキュリティ設定に入ります.
このオプションのキャンセルをチェックしないとjenkinsはgitlab要求が合法ではないと考えています.
11(オプション).API tokenを設定できます.
名前を入力するとtokenが出力され、tokenをコピーする必要があります.
12.gitlabサーバにアクセスし、webhooksを追加します.
URL形式:
 
http://name:token@JENKINS_HOST_IP/job/JOB_NAME/build?token=BUILD_TOKEN
たとえば、私が設定したもの:
http://ljy:[email protected]:8080/job/fastjson/build?token=hehe

注意:gitlab-10.6以降のバージョンでは作成できません.requests to the local network are not allowedの赤いアラーム情報が表示されます.この場合、gitlabがローカルネットワークにアクセスできるようにする必要があります.デフォルトではローカルネットワークにアクセスできません.
13.私たちは設定したwebhooksに対してTestを行います.
14.HTTP 201の戻り値が現れると、成功を証明する.
15.jenkinsに入って成功したかどうかを確認する.
戻り値がSUCCESSであれば成功です.
パラメトリック構築は比較的簡単です.
1.依然としてタスクを作成します.
2.任務内容:
パラメータスクリプトを作成します.
[root@master ~]#cd testProject/
[root@master testProject]#vim jenkins_paramter.sh
[root@master testProject]#cat jenkins_paramter.sh
#!/bin/bash
#
git_pro(){
       echo "pull $1 code"
}
 
git_pro $1
[root@master testProject]#
[root@master testProject]#chmod +x jenkins_paramter.sh
[root@master testProject]#

3.保存後、このタスクの実行を開始します.
SUCCESSが成功したことを示します.
タイミング構築;
1.タイミング構築はパラメータ化の基礎の上に基づいて、近い時間を選択する.
2.パラメトリックで構築できるスクリプト;新しいスクリプトを作成することもできます.
3.テスト;
4.SUCCESSが成功したことを表示する;
これで、3つの構築方式が導入されました.会社の常用ツールとして、このスキルはまだ必要です.
転載先:https://blog.51cto.com/liujingyu/2330211