1はじめに
公式サイト:http://jenkins-ci.org
Jenkinsは、人気のあるオープンソースの継続的インテグレーションツールであり、プロジェクト開発で広く使用されており、自動化された構築、テスト、デプロイなどの機能を備えています。
Jenkinsの機能:
- オープンソースのJava言語は、継続的インテグレーションツールを開発し、継続的インテグレーションと継続的デプロイをサポートします。
- インストール、デプロイ、構成が簡単:yumまたはダウンロードしたwarパッケージを介してインストールし、Dockerコンテナーを介してすばやく実装できます。これはWebインターフェイスの構成管理に便利です。
- メッセージ通知とテストレポート:RSS / Eメールを統合してRSSを介してビルド結果を公開するか、ビルドが完了したときにEメールで通知してJUnit / TestNGテストレポートを生成します。名前
- IPアドレスでインストールされたソフトウェアコードホスティングサーバー。分散ビルド:Jenkinsをサポートして、複数のコンピューターを一緒にビルド/テストできるようにします。
- ファイルの識別:Jenkinsは、どのビルドがどのjarを生成するか、どのビルドがどのバージョンのjarを使用するかなどを追跡できます。
- 豊富なプラグインサポート:拡張プラグインをサポートし、git、svn、maven、dockerなどのチームに適したツールを開発できます。
2.jenkinsをインストールします
2.1JDKをインストールします
2.2jenkinsインストールパッケージを入手する
ダウンロードページ:https
://jenkins.io/zh/download/インストールファイル:jenkins-2.282-1.1.noarch.rpm
wget http://mirrors.jenkins-ci.org/redhat/jenkins-2.282-1.1.noarch.rpm
2.3jenkinsをインストールする
rpm -ivh jenkins-2.190.3-1.1.noarch.rpm
または
yum -y locainstall jenkins-2.190.3-1.1.noarch.rpm
ディレクトリ構造
/usr/lib/jenkins/jenkins.war #WAR包
/etc/sysconfig/jenkins #配置文件
/var/lib/jenkins/ #默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log #Jenkins日志文件
2.4Jenkins構成を変更する
vim / etc / sysconfig / jenkinsの
変更された内容は次のとおりです。
JENKINS_USER="root"
JENKINS_PORT="9999"
vim / etc
/ rc.d / init.d / jenkinsの変更された内容は次のとおりです。
candidates="的下一行添加
/usr/local/jdk1.8.0_112/bin/java #java的环境变量
2.5Jenkinsを起動します
systemctl start jenkins && systemctl enable jenkins
2.6ブラウザを開いてアクセスします
http://10.99.200.111:9999、ダウンロードするにはJenkinsプラグインをデフォルトの公式Webサイトに接続する必要があるため、速度が非常に遅く、後で失敗するため、プラグインのインストールをスキップします。今
3.Jenkinsプラグイン管理
Jenkins自体は多くの機能を提供していませんが、プラグインを使用することで使用を満足させることができます。たとえば、Gitlabからコードをプルし、Mavenを使用してプロジェクトをビルドし、その他の機能を完了するにはプラグインに依存する必要があります。次に、プラグインをダウンロードする方法を示します。
3.1Jenkinsプラグインのダウンロードアドレスを変更する
1)デフォルトのdefault.jsonファイルを変更します
cd /var/lib/jenkins/updates
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json
2)プラグインアドレスを変更します
Jenkins-> Manage Jenkins-> Manage Plugins、[Advanced]をクリックし、Update Siteを国内のプラグインダウンロードアドレスhttps://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
に変更し、Sumbitの後に、ブラウザにhttp://10.99.200.111:9999と入力して、Jenkinsを再起動します。
3.2中国の中国化プラグインをダウンロードする
1)中国語のプラグインを検索してインストールします
Jenkins-> Jenkinsの管理->プラグインの管理、点击利用可能、搜索「中国語」
2)Jenkinsを再起動すると、Jenkinsが終了したことがわかります
3.3Jenkinsのユーザー権利管理
役割ベースの承認戦略プラグインを使用して、Jenkinsユーザーの権限を管理します。権限
のグローバルセキュリティ構成をオンにし、承認戦略を「役割ベースの戦略」に切り替えて保存します。
ページを更新して確認してください
3.4役割を作成する
1)役割を作成する
システム管理ページで「役割の管理と割り当て」と入力し、「役割の管理」をクリックして、対応する役割の権限を追加して保存します。
-
グローバルロール:管理者などの上級ユーザーは、グローバルベースのロールを作成できます
-
プロジェクトの役割:特定のプロジェクトまたは特定のプロジェクトの役割
-
スレーブの役割:ノード関連の権限
次の3つの役割を追加します。baseRole:このロールはグローバルロールです。このロールは、最も基本的なJenkinsアクセス権限をすべてのユーザーにバインドするために、Overallの下の読み取り権限をバインドする必要があります。注:このロールを後続のユーザーにバインドしないと、エラーが報告されます。ユーザー名に全体/読み取り権限がありませんロール1
:このロールはプロジェクトロールです。正規表現を使用して「ops。」
をバインドします。これは、opsの先頭にあるアイテムのみを操作できることを意味します。role2:この役割はプロジェクトの役割でもあります。「dev。」をバインドすると、devで始まるアイテムのみを操作できるようになります。
2)ユーザーを作成する
システム管理ページの[ユーザーの管理]に移動し、[新しいユーザー]をクリックします
3)ユーザーに役割を割り当てる
システム管理ページで「管理と役割の割り当て」と入力し、「役割の割り当て」をクリックします。バインド規則は次のとおりです。wangkx
ユーザーはbaseRoleとrole1にrenlt
バインドされ、ユーザーはbaseRoleとrole2にバインドされ、保存できます。
4)プロジェクトのテスト権限を作成する
管理者管理者アカウントops-test01とdev-test01を使用して2つのプロジェクトを作成します。
結果は次の
とおりです。wangkxユーザーログイン、ops-test01プロジェクト
のみrenltユーザーログイン、dev-test01プロジェクトのみ
3.5Jenkinsクレデンシャル管理
1)資格情報バインディングプラグインをインストールします
Jenkinsの資格情報管理機能を使用するには、資格情報バインディングプラグインをインストールする必要があります
。プラグインをインストールすると、右側に[資格情報]メニューが表示され、すべての資格情報を管理できます。
- パスワード付きのユーザー名:ユーザー名とパスワードSSHプライベート付きのユーザー名
- キー:SSHユーザーとキーシークレットを使用します
- fifile:秘密にしておく必要のあるテキストファイル。使用すると、Jenkinsはファイルを一時ディレクトリにコピーし、ファイルパスを変数に設定します。ビルドが完了すると、コピーされた秘密
- fifileは削除されます。シークレットテキスト:DingTalkやGithubのAPIなど、保存する必要のある暗号化されたテキスト文字列
- tokenCertifificate:証明書ファイルをアップロードする
一般的に使用される認証情報の種類は次のとおりです。Username with password
(ユーザーパスワード)とSSH Username with private key
(SSHキー)
次に、GitツールをGitlabに移動して、JenkinsがGitlabの認証情報を管理する方法を示す例としてプロジェクトのソースコードをプルします。
2)GitプラグインとGitツールをインストールします
JenkinsがGitlabからのソースコードのプルをサポートするには、Gitプラグインをインストールし、CentOS7にGitツールをインストールする必要があります。
CentOS7にGitツールをインストールするためのgitlabリファレンス
:
yum install git -y #安装
git --version #安装后查看版本
3)ユーザーパスワードタイプ
ステップ1:資格情報を作成するJenkins->資格情報->システム->グローバル資格情報->資格情報の追加->「パスワード付きのユーザー名」を選択し、Gitlabのユーザー名とパスワードを入力して、「OK」をクリックします。
ステップ2:資格情報が利用可能かどうかをテストします
作成したプロジェクトdev-test01で「ソースコード管理」->「Git」を見つけ、GitlabのプロジェクトURLをリポジトリURLにコピーします
このとき、倉庫が接続できないというエラーが報告されます。資格情報に追加したばかりの資格情報を選択すると、エラーは報告されません。
構成を保存し
たら、[Build "Build Now]をクリックしてプロジェクトのビルドを開始します。/var/lib/jenkins/workspace/ディレクトリを確認し、コードがGitlabからJenkinsに正常にプルされていることを確認します。
4)SSHキータイプ
SSHパスワードなしのログイン図
ステップ1:rootユーザーを使用して公開鍵と秘密鍵を生成する
ssh-keygen -t rsa #在/root/.ssh/目录保存了公钥和使用
id_rsa:私钥文件
id_rsa.pub:公钥文件
ステップ2:生成された公開鍵をGitlabに配置します
ルートアカウントとしてログイン->アバターをクリック->設定-> SSHキー今すぐid_rsa.pubファイルの内容をここにコピーし、[キーを追加]をクリックします
ステップ3:Jenkinsに資格情報を追加し、秘密鍵を構成します
Jenkinsに新しい資格情報を追加します。タイプは「SSHユーザー名と秘密鍵」です。生成されたばかりの秘密ファイルの内容をコピーします。
ステップ4:資格情報かどうかをテストします
作成したプロジェクトops-test01で[ソースコード管理]-> [Git]を見つけ、GitlabのプロジェクトURLをリポジトリURLにコピーします。今回は、GitlabのSSH接続を使用して、SSH資格情報を選択します。
gitlabでプロジェクトのssh接続を取得し、jenkinsのops-test01でテストします。
構成を保存したら、[今すぐビルド]をクリックしてプロジェクトのビルドを開始し
ます。/var/lib/jenkins/workspace/ディレクトリを確認して、コードを見つけます。 GitlabからJenkinsに正常にプルされました。
3.6Mavenのインストールと構成
Jenkins統合サーバーで、プロジェクトをコンパイルおよびパッケージ化するためにMavenをインストールする必要があります。
1)Mavenをインストールします(最初にMavenソフトウェアを10.99.200.111にアップロードします)
cd /root/pkg
tar -xf apache-maven-3.6.3-bin.tar.gz -C /usr/local/ #解压
echo 'export MAVEN_HOME=/usr/local/apache-maven-3.6.3' >> /etc/profile
echo 'export PATH=$MAVEN_HOME/bin:$PATH' >> /etc/profile
source /etc/profile #配置生效
mvn -v #查看maven版本
2)JDKおよびMavenに関連するグローバルツール構成
ステップ1:jdkとmavenを関連付ける
Jenkins->グローバルツール構成-> JDK-> JDKの追加、構成は次のとおりです
。Jenkins->グローバルツール構成-> Maven-> Mavenの追加、構成は次のとおりです。
ステップ2:Jenkinsグローバル変数を追加します
Jenkinsの管理->システムの構成->グローバルプロパティ、3つのグローバル変数JAVA_HOME、MAVEN_HOME、PATH + EXTRAを追加します
ステップ3:Mavenのsettings.xmlを変更します
mkdir /usr/local/apache-maven-3.6.3/repo #创建maven的本地仓库
vim /usr/local/apache-maven-3.6.3/conf/settings.xml#次の構成アイテムをそれぞれ追加します
<mirrors>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirrors>
<localRepository>/usr/local/apache-maven-3.6.3/repo</localRepository>
ステップ4:Mavenが正常に構成されているかどうかをテストします
以前のgitlabパスワードテストプロジェクト(ops-test01)を使用して、構成を変更します。
すべてここにあります。詳細については、Linuxの個人用WeChatパブリックアカウントALLを参照してください。スキャンしてみましょう。