溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker容器中安裝部署和運行jenkins的步驟

發(fā)布時間:2020-06-03 18:48:18 來源:億速云 閱讀:954 作者:Leah 欄目:系統(tǒng)運維

這篇文章給大家分享的是有關(guān)的內(nèi)容docker容器中安裝部署和運行jenkins的步驟。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

一、安裝

1.docker鏡像運行jenkins

  • 安裝詳細(xì)步驟參考官方文檔https://jenkins.io/zh/doc/book/installing/
docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
  • docker提示沒有開啟轉(zhuǎn)發(fā)解決方法
vim /usr/lib/sysctl.d/00-system.conf
net.ipv4.ip_forward=1 #新添加

重啟network

  • 瀏覽器訪問8080端口

如果界面提示Jenkins正在啟動,請稍后...或者提示
Please wait while Jenkins is getting ready to work...

解決方法:

需要你進(jìn)入jenkins的工作目錄,打開 hudson.model.UpdateCenter.xml 把 http://updates.jenkins-ci.org/update-center.json 改成 http://mirror.xmission.com/jenkins/updates/update-center.json

  • Jenkins對離線和插件安裝慢解決方法
 cd /var/jenkins_home/updates/
 sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && \
sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
  • 時間不一致問題解決辦法

Docker 容器時間跟主機時間保持同步

docker cp  /usr/share/zoneinfo/Asia/Shanghai  jenkins02:/etc/localtime

Jenkins系統(tǒng)上的時間不正確問題

很簡單,點擊系統(tǒng)管理,選擇執(zhí)行腳本命令:

打開 【系統(tǒng)管理】->【腳本命令行】運行下面的命令

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

docker容器中安裝部署和運行jenkins的步驟

2.docker運行g(shù)itlab

  • 先創(chuàng)建需要掛載的三個目錄:配置 (etc) 、 日志 (log) 、數(shù)據(jù) (data)
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
  • 運行g(shù)itlab
docker container run -it \
-p 8090:80 -p 8443:443 -p 8022:22 \
--restart unless-stopped \
-v /mnt/gitlab/etc:/etc/gitlab  \
-v /mnt/gitlab/log:/var/log/gitlab \    
-v /mnt/gitlab/data:/var/opt/gitlab  \
--name gitlab gitlab/gitlab-ce:latest
  • 進(jìn)入容器 修改配置

把external_url改成部署機器的域名或者IP地址

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.100.107'
gitlab_rails['gitlab_ssh_host'] = '192.168.100.107'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
gitlab_rails['gitlab_shell_git_timeout'] = 800

重啟容器

docker restart gitlab

修改克隆時的端口,默認(rèn)是80,但我們映射成了8090,因此需要修改
每次重啟容器 都需要執(zhí)行者一步

進(jìn)入容器執(zhí)行

root@6129313605ed:/# cd /var/opt/gitlab/gitlab-rails/etc/
vim gitlab.yml
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.100.107
    port: 8090  #此處修改為8090
    https: false

gitlab-ctl restart #重啟
  • 常用的幾個Gitlab命令
# 重新應(yīng)用gitlab的配置
gitlab-ctl reconfigure

# 重啟gitlab服務(wù)
gitlab-ctl restart

# 查看gitlab運行狀態(tài)
gitlab-ctl status

#停止gitlab服務(wù)
gitlab-ctl stop

# 查看gitlab運行日志
gitlab-ctl tail

# 停止相關(guān)數(shù)據(jù)連接服務(wù)
gitlab-ctl stop unicorn
gitlab-ctl stop sideki

二、jenkins應(yīng)用

1.jenkins權(quán)限管理

  • 安裝插件:

docker容器中安裝部署和運行jenkins的步驟

  • 啟用插件

docker容器中安裝部署和運行jenkins的步驟

此時再點擊系統(tǒng)管理,會多出一項:Manage and Assign Roles

docker容器中安裝部署和運行jenkins的步驟

  • 創(chuàng)建一個用戶:deva

點擊

docker容器中安裝部署和運行jenkins的步驟

docker容器中安裝部署和運行jenkins的步驟

  • 使用Manage and Assign Roles 管理分配用戶

管理用戶

docker容器中安裝部署和運行jenkins的步驟

分配用戶

docker容器中安裝部署和運行jenkins的步驟

這樣 deva用戶 就只能看到dev- 的job了,并且 只有執(zhí)行job的權(quán)限。

2.jenkins執(zhí)行腳本

  • 在節(jié)點上寫一個測試腳本,并給腳本賦予執(zhí)行權(quán)限
[root@vm2 ~]# cat test.sh 
#!/bin/bash
echo lingxd
echo $1
  • 創(chuàng)建自由風(fēng)格job

參數(shù)化構(gòu)建

docker容器中安裝部署和運行jenkins的步驟
docker容器中安裝部署和運行jenkins的步驟

點擊構(gòu)建 選擇參數(shù)

docker容器中安裝部署和運行jenkins的步驟

3.pipeline 初探

  • 創(chuàng)建job

docker容器中安裝部署和運行jenkins的步驟

  • 配置

docker容器中安裝部署和運行jenkins的步驟

腳本內(nèi)容

node {
    stage('Code PUll'){
        echo "Code PUll"
        git credentialsId: 'ee5eb9ea-39a9-48c3-9b02-0b6985ed092a', url: 'http://192.168.100.117:8090/root/bk.git'
    }
    stage('Code Build'){
        echo "code build"
        sh '/root/mvn/apache-maven-3.6.3/bin/mvn clean compile'
    }
    stage('Unit Test'){
        echo "unit test"
    }
    stage('是否部署'){
        input '部署測試環(huán)境'
    }
    stage('Deploy Test ENV'){
        sh '/root/test.sh 123'
    }
}

4.Jenkins和gitlab集成自動觸發(fā)

  • jenkins插件管理安裝GitLab Plugin插件

docker容器中安裝部署和運行jenkins的步驟

  • 去gitlab生成token

docker容器中安裝部署和運行jenkins的步驟

  • 系統(tǒng)管理-->系統(tǒng)配置 配置gitlab

docker容器中安裝部署和運行jenkins的步驟

  • 創(chuàng)建pipeline 類型job

docker容器中安裝部署和運行jenkins的步驟

docker容器中安裝部署和運行jenkins的步驟

  • 登錄gitlab配置項目集成,添加webhook

先點擊進(jìn)入你要配置的項目,找到設(shè)置,點擊集成

docker容器中安裝部署和運行jenkins的步驟

docker容器中安裝部署和運行jenkins的步驟

上面要填的url和token,看上一步驟

如果創(chuàng)建webhook失敗,提示不可以本地網(wǎng)絡(luò)認(rèn)證,需要在設(shè)置里面設(shè)置下。

docker容器中安裝部署和運行jenkins的步驟
docker容器中安裝部署和運行jenkins的步驟

這樣 就實現(xiàn)了dev分支只要有代碼提交,就會自動觸發(fā)jenkins的job

以上就是docker容器中安裝部署和運行jenkins的步驟,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI