目次
sshを介してLNMPホストにファイルを送信するためのJenkins構成
Jenkinsビルドタスクを実行して、自動リリースを実現します
周囲
Gitlabノード:192.168.253.110 Jenkinsノード:192.168.253.130
テスト環境に2つのサーバーを使用し、プロジェクトをjenkinsサーバーに配置しました。システムバージョンはcentos7.5です。
Gitlabをインストールする
こんにちは!Gitlabのインストールについてはこちらをご覧ください~~> Dockerは社内のプライベートクラウドプラットフォームを構築します-Gitlab
[root@gitlab ~]# docker run -it -d --name gitbab -p 80:80 docker.io/gitlab/gitlab-ce
674e5e8a3e35cb2ec95c385e7130082e1fef0d55494b953b7bd88d039473683c
Jenkinsをインストールします
もちろん、ここにジェンキンスをインストールするためのチュートリアルもあります~~> ジェンキンスのインストールと中国語の表示 ですが、ここでもう一度やりたいと思います。
1)java環境をダウンロードし、jenkinsパッケージをアップロードします
[root@jenkins ~]# yum -y install java-1.8.0 lrzsz java环境
[root@jenkins ~]# ls
jenkins-2.222.4-1.1.noarch.rpm 我用的是这个版本
2)jenkinsをインストールして起動します
[root@jenkins ~]# rpm -ivh jenkins-2.222.4-1.1.noarch.rpm
警告:jenkins-2.222.4-1.1.noarch.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID d50582e6: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jenkins-2.222.4-1.1 ################################# [100%]
[root@jenkins ~]# systemctl start jenkins
[root@jenkins ~]# setenforce 0
[root@jenkins ~]# systemctl stop firewalld
3)ブラウザhttp:アクセス用のip + 8080
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
252fd6734a17467684cce9591eba7229
4)ダウンロードプラグインアクセラレーションを設定します(デフォルトのプラグインダウンロードソースは海外にあり、ダウンロードは特に遅いです)
[root@jenkins ~]# vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> #改为国内的网站
</site>
</sites>
[root@jenkins ~]# cd /var/lib/jenkins/updates/
[root@jenkins updates]# sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
[root@jenkins updates]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
[root@jenkins ~]# systemctl restart jenkins
5)中国語のプラグインをダウンロードする
再起動するだけです!!
JenkinsとGitlabの組み合わせ
1)コードを保存するプロジェクトをGitlabで作成します
2)プロジェクトウェアハウスをローカルにクローンして、クローンできるかどうかをテストします。
プロジェクトウェアハウスを保存するために、ウィンドウに空のディレクトリを作成します。説明:
ここで私のgitはwindowsバージョンです~~>これはwindowsバージョンパッケージ です、Linuxバージョンgit ~~>ここです
プロジェクトを配置するためにデスクトップに新しいディレクトリを作成しました
注:最初のクローンは、gitlabのログインアカウントとパスワードの入力を求めるプロンプトを表示します
3)成功したかどうかを確認します
4)テスト用にプロジェクトにコード行をアップロードします(新しいtxtファイルを作成しました)
5)ローカルで送信し、gitlabのwordpressプロジェクトにコードを送信します
6)このワードプレスプロジェクトで成功するかどうかを確認する
ジェンキンスの統合を開始
1)gitプラグインとgit環境をjenkinsノードにインストールします
[root@jenkins ~]# yum -y install git
1.1)Webにgitプラグインをインストールします
2)ジェンキンスでタスクを作成する
gitlabプロジェクトウェアハウスのURLアドレスとgitlabにログインするためのアカウントパスワードを設定し、入力後に保存します
3)ビルドタスクを開始します
3.1)このビルドタスクをクリックして、コンソール出力を表示します
!!現時点では、JenkinsとGitlabは正常に結合されています
DockerはLNMPを展開します
説明:ここでの私のプロジェクトはワードプレスであり、Lnmp環境を使用する必要があります。
1)lnmpのドッカーイメージを自分で作成します。これがイメージを作成するためのパッケージです~~> クリックしてください
[root@jenkins ~]# tar xzf lnmp.tar.gz
[root@jenkins ~]# cd lnmp
[root@jenkins lnmp]# docker build -t lnmp .
[root@jenkins ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmp latest 57e3c3e09aab 9 seconds ago 443 MB
docker.io/centos latest 0d120b6ccaa8 7 weeks ago 215 MB
2)lnmpコンテナを起動します
[root@jenkins ~]# docker run --name wordpress -itd -p 81:80 -v /opt/html/:/usr/local/nginx/html lnmp
1e62d99e01c2c20b4e529afffc01e11dea54e7e2d1a2f80333a3b1c99589390a
[root@jenkins ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e62d99e01c2 lnmp "/usr/bin/supervis..." 6 seconds ago Up 6 seconds 0.0.0.0:81->80/tcp wordpress
sshを介してLNMPホストにファイルを送信するためのJenkins構成
1)Publish Over SSHプラグインをjenkinsにインストールする必要があります。このプラグインを介して、jenkinsはワークスペース内のファイルをリモートホストに送信できます。
2)プラグインを構成し、リモートホストを追加し、LAMPホストを追加します
3)ホームページに移動し、構成タスクに移動します
!!これ までのところタスクが設定されています!タスクが実行されると、ファイルは自動的にリモートホストに送信されます
プロジェクトをGitlabにプッシュします
説明:これが私のプロジェクトのブログです。もちろん、他の人にも投稿できます。
1)インストールパッケージをコンピューターで解凍し、パッケージの内容をコピーしてローカルウェアハウスに貼り付けます
2)地元の倉庫に提出し、Gitlabにプッシュします
3)gitlabが正常にプッシュされたかどうかを確認します
Jenkinsビルドタスクを実行して、自動リリースを実現します
1)ビルドタスク
2)コンソールでビルドが成功したかどうかを確認します
プロジェクトのWebにアクセス
1)ブラウザにhttp:// + ip +81と入力します
総括する
これを作るのに1日かかり、とても気持ちがいいです。ここで使用したプロジェクトはブログです。パートナーは他のプロジェクトも使用できます。書くのは簡単ではありません。!