<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Jenkins
$ cd /usr/local $ mkdir docker $ cd docker $ mkdir jenkins $ cd jenkins $ vi docker-compose.yml
內容如下:
version: '3.1' services: jenkins: restart: always image: jenkins/jenkins container_name: jenkins ports: # 釋出埠 - 8080:8080 # 基於 JNLP 的 Jenkins 代理通過 TCP 埠 50000 與 Jenkins master 進行通訊 - 50000:50000 environment: TZ: Asia/Shanghai volumes: - ./data:/var/jenkins_home
安裝過程中會出現資料卷目錄許可權問題,用以下命令解決:
chown -R 1000 /usr/local/docker/jenkins/data
啟動容器
docker-compose up -d
啟動完成後存取:http://ip:8080
。
Jenkins
第一次啟動時需要輸入一個初始密碼用以解鎖安裝流程,使用 docker logs jenkins
即可方便的檢視到初始密碼。也可以根據提示在容器中檢視/var/jenkins_home/secrets/initialAdminPassword
檔案。
docker logs -f jenkins
*************************************************************
*************************************************************
*************************************************************Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:67b9966bc4334a17ad7a7daef043bac8
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
外掛是 Jenkins
的核心,其豐富的外掛可以滿足不同人群的不同需求。
Jenkins
官網外掛地址:https://plugins.jenkins.io/
輸入初始密碼後,選擇自選方式安裝外掛。
注意:除了預設勾選的外掛外,一定要勾選 Publish over SSH
外掛,這是我們實現持續交付的重點外掛。
點選安裝後,根據網路情況,安裝時間不一樣,耐性等待即可。
出現部分外掛安裝失敗時,點選重試按鈕,多次重試,如果還是無法安裝,記住這些外掛的名字,稍後可以手動安裝。
安裝成功效果圖 建立管理員賬號
進入首頁
如下例子為安裝中文外掛
Manage Jenkins
-> Manage Plugins
-> Avaliable
右上角搜尋方塊查詢想要安裝的外掛,選中,點選Download now and install after restart
。
下載好後,重啟Jenkins
。
docker-compose down docker-compose up -d
上傳 JDK
和 Maven
的 tar
包到伺服器(容器資料卷目錄),進行解壓縮。
Manage Jenkins
-> Global Tool Configuration
(系統管理
->全域性工具設定
)。
安裝 JDK
/var/jenkins_home/jdk1.8.0_152
安裝Maven
點選儲存
該外掛的主要目的是為了方便我們後面在做專案構建時可以按照版本進行構建(支援一鍵回滾)
Manage Jenkins
-> Manage Plugins
-> Avaliable
Extended Choice Parameter
Download now and install after restart
。互動式進入 Jenkins
容器
docker exec -it jenkins /bin/bash
生成 SSH KEY
ssh-keygen -t rsa -C "your_email@example.com"
檢視公鑰
cat /var/jenkins_home/.ssh/id_rsa.pub
複製公鑰到 GitLab
手動克隆一次專案,該步驟的主要作用是為了生成和伺服器的驗證資訊
jenkins@730898bc8b96:~$ git clone ssh://git@192.168.50.131:2222/test/test.git Cloning into 'test'... The authenticity of host '[192.168.50.131]:2222 ([192.168.50.131]:2222)' can't be established. ECDSA key fingerprint is SHA256:x21ujjNoJ+7wXGszSI7s70szbK0/+7mTOeDP5h0saMs. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[192.168.50.131]:2222' (ECDSA) to the list of known hosts. remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done. jenkins@730898bc8b96:~$
檢視生成檔案
jenkins@730898bc8b96:~$ cd .ssh/ jenkins@730898bc8b96:~/.ssh$ ls -al total 20 drwx------ 2 jenkins jenkins 4096 Apr 9 19:03 . drwxr-xr-x 16 jenkins root 4096 Apr 9 19:03 .. -rw------- 1 jenkins jenkins 2602 Apr 9 18:57 id_rsa -rw-r--r-- 1 jenkins jenkins 572 Apr 9 18:57 id_rsa.pub -rw-r--r-- 1 jenkins jenkins 222 Apr 9 19:03 known_hosts jenkins@730898bc8b96:~/.ssh$
系統管理
-> 系統設定
-> Publish over SSH
點選新增,其中 Remote Directory
是指 Jenkins
可以在目標伺服器操作的目錄,選擇 Use password
, 輸入目標伺服器密碼
測試能否正常通訊
點選儲存
為專案建立標籤
在 GitLab
中為專案建立標籤
在 Jenkins 中建立 Maven Project
在 Jenkins
中建立一個基於 Maven
的任務
這裡沒有Maven
專案選項,需要安裝外掛 Maven Integration
、Pipeline Maven Integration
設定第一次構建
構建專案
檢視構建紀錄檔
設定正式構建
增加引數化構建過程
這裡使用了 Groovy 指令碼來查詢最近的 tags 版本,程式碼如下:
def ver_keys = [ 'bash', '-c', 'cd /var/jenkins_home/workspace/myshop-dependencies;git pull>/dev/null; git remote prune origin >/dev/null; git tag -l|sort -r |head -10 ' ] ver_keys.execute().text.tokenize('n')
關閉原始碼管理
增加構建步驟
shell
指令碼程式碼如下:
echo $RELEASE_VERSION cd /var/jenkins_home/workspace/myshop-dependencies git checkout $RELEASE_VERSION git pull origin $RELEASE_VERSION mvn clean package
使用引數化構建專案
批准 groovy
指令碼
再次點選引數化構建
檢視構建紀錄檔
Source files
:需要傳輸到遠端目標伺服器的檔案
**/*.jar,docker/**
Remove prefix
:刪除字首。比如傳輸 **/*.jar
,我們打包的 .jar
檔案是在 target
目錄下的,傳輸時會一併建立 target
目錄,如果不希望建立 target
目錄,則可以使用該引數遮蔽掉這些字首資料夾。
Remote directory
:在遠端目標伺服器建立操作目錄
myapp
Exec command
:在遠端目標伺服器執行控制檯命令
cd /usr/local/jenkins/myapp cp target/myapp-1.0.0-SNAPSHOT.jar docker cd docker docker build -t 192.168.50.128:5000/myapp:v1.0.0 . docker push 192.168.50.128:5000/myapp:v1.0.0 docker-compose down docker-compose up -d docker image prune -f
到此這篇關於Docker Compose構建Jenkins的實現的文章就介紹到這了,更多相關Docker Compose構建Jenkins內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45