jenkins 鏈接gitee進行構建docker服務

1.基礎環境依賴支持------ linux服務器 安裝dockerlinux

下載容器 Jenkins 運行 搭建私倉 registrygit

項目 open_cloud 碼雲開源框架docker

項目裏面的私倉地址,須要進行修改,修改爲如今jenkins運行的這個服務器的私倉地址api

 

 

服務器安裝docker 參考以前文章安全

docker 安裝Jenkins 參考以前文章服務器

須要注意一下幾點:框架

1. Jenkins_home 作外部宿主機文件映射的時候,須要給外部的宿主機文件賦予權限,由於容器使用的是內部建立的Jenkins用戶,無權限,沒法讀寫 例子: -v /home/jenkins/home/:/var/jenkins_homemaven

2. 我在使用docker下載Jenkins的時候,Jenkins作初始化,下載插件一直失敗,後面仔細查找才發現,docker官方已經廢棄了Jenkins這個鏡像,如今最新使用的是jenkins/jenkins測試

3. 由於咱們使用的是docker鏡像Jenkins啓動的,全部,在設置器對應的jdk maven 的時候,都須要作命令映射,使容器能夠識別到外部宿主機的這些環境,我這邊把jdk,還有maven都安裝在opt目錄了,因此作了映射 -v /opt:/optspa

4.內部的Jenkins容器,操做mvn 打包docker鏡像的時候,須要配置,是docker外部的docker命令生效,因此得在啓動的時作

參數配置 示例:-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker

參考示例:http://www.javashuo.com/article/p-xnyoreri-z.html

5.由於第四部這裏,作了docker的文件映射,是jenkins能夠操做docker,可是jenkins的鏡像使用的用戶組,是本身容器的jenkins用戶,不是宿主機的root,因此,在打包成功,寫入鏡像的時候,會沒法寫入,這裏,咱們須要對宿主機的docker.sock作配置權限,不然沒法寫入,構建報錯。

參考示例:https://www.jianshu.com/p/db58d1cfd01b

好了,到了這裏,jnekins算是啓動成功了。

 

啓動成功jenkins,須要輸入初始化密碼,由於我作了Jenkins_home的映射,因此在宿主機上,密碼路徑是這樣

宿主機路徑:/home/jenkins/home/secrets/initialAdminPassword 

容器內部路徑:/var/jenkins_home//secrets/initialAdminPassword

由於,我上面的命令,作了特殊的映射,因此直接在宿主機查找便可,根據本身的實際狀況來

 

下載系統默認的插件,安裝好之後,設置默認密碼,用戶,進入

 

 

由於,我代碼是在碼雲託管,因此,進去插件管理,在可選插件,搜索gitee進行安裝,我這裏已經安裝

安裝成功,須要對gitee進行配置,以便連接碼雲,進行代碼的拉取

進入系統設置,設置碼雲相關

在這裏,添加碼雲的私鑰。私鑰配置地址,是在https://gitee.com/profile/personal_access_tokens 進行添加,安全設置---私有密鑰 。私鑰只是展現一次,記得進行記錄

而後繼續Jenkins

連接名 自定義 Gitee 域名 URL 這是固定給碼雲地址

證書令牌,這裏選擇Jenkins,進行添加

選擇正確的類型,giteeapi令牌 ,在apiv5這裏,把你碼雲的私有令牌填寫上。完成添加。而後點擊上圖的測試連接,進行測試。測試經過。

好了,順便記得添加jenkins的mavne,jdk,我以前作了opt的映射,因此,我這裏,直接寫的相應的地址

 

 

保存應用,出去建立任務把。這裏我建立的是maven項目

 

這裏,咱們使用剛纔建立的gitee的那個自定義連接

 

這裏咱們須要注意的是,源碼管理這塊,連接gitee之後,須要配置登錄的用戶名,以及密碼,這是配置好的

這裏,你須要選擇類型,是用戶以及密碼,看清楚,下面的id以及描述,是自定義的,剛纔是1,如今就是2.不和以前的重複便可

建立成功之後,選擇上圖的你配置的gitee的用戶以及密碼

 

這裏須要注意的是,我們以前不是到了映射,Jenkins_home映射到了home/jenkins/home了嗎?可是聰明的你,應該明白我爲啥這樣些了,應爲,jenkin容器找的話,仍是找的他的本身目錄,只不過,本身的目錄,這層,被docker的 -v 參數,和外部宿主機粘合在一塊兒了,可是容器,須要正確指定。讓他找到pom。你若是不是Jenkins容器,固然沒必要這麼作。

 

這裏mvn 構建成功。而後執行當前的腳本,進行dockerfile的編譯

 

這是sh的腳本。這裏,你須要注意的是,我爲何把腳本放在opt了,還有就是爲何cd 進入的是

cd /var/jenkins_home/workspace/wlpt/wlpt-datainterface/platform/open-cloud-api-zuul-server

而不是

cd /home/jenkins/home/workspace/wlpt/wlpt-datainterface/platform/open-cloud-api-zuul-server/

 

這是由於我們以前作了 docker run jenkins 的時候,作的-v參數的映射啊。好了,總體設置成功之後,在點擊構建,好了,是原諒的綠色了。ok,大功告成

相關文章
相關標籤/搜索