自動化されたオンラインサービスの完全なセットを実現するためのGitlab + Jenkins + Docker +プロジェクト

目次

         周囲

         Gitlabをインストールする

         Jenkinsをインストールします

         JenkinsとGitlabの組み合わせ

         ジェンキンスの統合を開始

         DockerはLNMPを展開します

         sshを介してLNMPホストにファイルを送信するためのJenkins構成

         プロジェクトをGitlabにプッシュします

         Jenkinsビルドタスクを実行して、自動リリースを実現します

         プロジェクトのWebにアクセス

         総括する

 

周囲

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日かかり、とても気持ちがいいです。ここで使用したプロジェクトはブログです。パートナーは他のプロジェクトも使用できます。書くのは簡単ではありません。

おすすめ

転載: blog.csdn.net/yeyslspi59/article/details/108926990