日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

jenkins部署应用(docker版本)

發(fā)布時(shí)間:2023/12/31 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 jenkins部署应用(docker版本) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

系統(tǒng)運(yùn)維

一、安裝
1.docker鏡像運(yùn)行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正在啟動(dòng),請(qǐng)稍后...或者提示
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對(duì)離線和插件安裝慢解決方法

 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

時(shí)間不一致問題解決辦法

Docker 容器時(shí)間跟主機(jī)時(shí)間保持同步

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

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

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

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

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

2.docker運(yùn)行g(shù)itlab

先創(chuàng)建需要掛載的三個(gè)目錄:配置 (etc) 、 日志 (log) 、數(shù)據(jù) (data)

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

運(yùn)行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改成部署機(jī)器的域名或者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

修改克隆時(shí)的端口,默認(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 #重啟

常用的幾個(gè)Gitlab命令

# 重新應(yīng)用gitlab的配置
gitlab-ctl reconfigure

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

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

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

# 查看gitlab運(yùn)行日志
gitlab-ctl tail

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

二、jenkins應(yīng)用
1.jenkins權(quán)限管理

安裝插件:

啟用插件

此時(shí)再點(diǎn)擊系統(tǒng)管理,會(huì)多出一項(xiàng):Manage and Assign Roles

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

點(diǎn)擊

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

管理用戶

分配用戶

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

2.jenkins執(zhí)行腳本

在節(jié)點(diǎn)上寫一個(gè)測(cè)試腳本,并給腳本賦予執(zhí)行權(quán)限

[root@vm2 ~]# cat test.sh 
#!/bin/bash
echo lingxd
echo $1

創(chuàng)建自由風(fēng)格job

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

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

3.pipeline 初探

創(chuàng)建job

配置

腳本內(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 \'部署測(cè)試環(huán)境\'
    }
    stage(\'Deploy Test ENV\'){
        sh \'/root/test.sh 123\'
    }
}

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

jenkins插件管理安裝GitLab Plugin插件

去gitlab生成token

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

創(chuàng)建pipeline 類型job

登錄gitlab配置項(xiàng)目集成,添加webhook

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

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

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

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

總結(jié)

以上是生活随笔為你收集整理的jenkins部署应用(docker版本)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。