1. 程式人生 > 其它 >Linux下Docker安裝部署Jenkins與Gitlab鉤子配置

Linux下Docker安裝部署Jenkins與Gitlab鉤子配置

一、搭建jenkins

1.搜尋映象:docker search jenkins

2.拉取映象:docker pull jenkins/jenkins

3.建立容器(自己建立一個jenkins目錄)

docker run -t -i -p 8080:8080 -v jenkins:/var/jenkins_home -d --name jenkins jenkins/jenkins

二、nginx配置

upstream jenkins {

server 127.0.0.1:8080;

}

server {

listen 80;

server_name Jenkins.test.demo;

location / {

#proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://jenkins;

proxy_read_timeout 120;

proxy_ignore_client_abort on;

}

}

三、jenkins配置

1.開啟Jenkins.test.demonginx中配置的域名)或者 127.0.0.1:8080,等待一會後到如下介面,根據提示覆製出密碼

2.選擇安裝推薦的外掛(等待...)-》建立第一個管理員-》例項配置-》儲存並完成-》開始使用

jenkins

3.安裝一些外掛:Publish Over SSHSSHGeneric Webhook TriggerGitlabGit Parameter

Manage jenkins-manage Plugins

所有外掛安裝完成後重啟:Jenkins.test.demo/restart

4.配置宿主機docker容器ssh免密登入到宿主機(或者其他遠端伺服器),並能夠執行宿主機shell指令碼(重要!!!)

1)進入到容器中,執行:ssh-keygen -m PEM -t rsa -b 4096

2)將生成的公鑰(id_rsa.pub)追加至宿主機~/.ssh/authorized_keys

5.jenkins配置git賬號密碼

系統管理-Manage Credentials-》全域性-》新增憑據

6.jenkins配置ssh免密登入資訊

1)系統管理-》系統配置-Publish over SSH

2)-》新增

3)-》儲存

四、jenkins配置gitlab全域性憑據

1.設定gitlab訪問令牌

生成的token自行儲存,無法二次訪問

2.系統管理-Manage Credentials-》全域性-》新增憑據

五、jenkins任務

1.jenkins-》新建任務-》輸入任務名稱-》構建一個自由風格的軟體專案-》確定

2.-》原始碼配置

3.-》構建觸發器

以上配置好後,根據提示拿到一個hook連結,用於配置gitlabhttp://Jenkins.test.demo/generic-webhook-trigger/invoke?token=test

此處的test就是上面自定義的token

4.-》構建環境,選擇Abort the build if it's stuck 即可

5.-》構建-》新增構建步驟-send files or execute commands over SSH

6.-》儲存

六、gitlab鉤子

-》設定-Webhooks-》配置hook連結-Add webhoook