在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Docker安裝Jenkins打包Maven項(xiàng)目為Docker鏡像并運(yùn)行「圖文教學(xué)」

    Docker安裝Jenkins打包Maven項(xiàng)目為Docker鏡像并運(yùn)行「圖文教學(xué)」

    一、前言

    Jenkins作為CI、CD的先驅(qū)者,雖然現(xiàn)在的風(fēng)頭沒有Gitlab強(qiáng)了,但是還是老當(dāng)益壯,很多中小公司還是使用比較廣泛的。最近小編經(jīng)歷了一次Jenkins發(fā)包,感覺還不錯(cuò),所以自己學(xué)習(xí)了一下。網(wǎng)上比較多的教程都是在Linux上搭建Jenkins,小編經(jīng)過一個(gè)星期的探索終于完成了在docker中進(jìn)行搭建。

    最終版就是:通過git上傳代碼—>使用Jenkins構(gòu)建自動(dòng)打包—>把jar包打成docker鏡像,運(yùn)行在docker中,Windows下進(jìn)行訪問

    主要記錄一下一些踩過的坑和注意點(diǎn),讓后來人能夠跟著小編一次完成??!

    二、安裝Docker

    Linux中安裝Docker,在Docker中安裝MySQL和Redis并在Windows下連接訪問(圖文教程)_掉發(fā)的小王的博客-CSDN博客

    三、linux安裝jdk和maven

    1、下載JDK8Linux版本

    官網(wǎng)下載太慢了,小編在這里為大家下載好了:

    鏈接:https://pan.baidu.com/s/1nlfc2gwL0Ho_wWbVuJiG4g提取碼:ov24

    2、下載Maven

    maven3.8.5下載鏈接:https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz

    3、使用xftp上傳到linux上

    4、解壓

    解壓maven

    tar -zxvf apache-maven-3.8.5-bin.tar.gz

    重命名maven

    mv apache-maven-3.8.5-bin.tar.gz apache-maven-3.8.5

    解壓jdk

    tar -zxvf jdk-8u333-linux-x64.tar.gz

    重命名jdk

    mv jdk-8u333-linux-x64.tar.gz jdk1.8

    5、配置環(huán)境變量

    進(jìn)入環(huán)境變量文件

    vim /etc/profile

    添加jdk和manven配置輸入i,進(jìn)入輸入模式

    注意自己的安裝目錄,放在文件最上面就行

    JAVA_HOME=/usr/local/java/jdk1.8CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CLASSPATH PATHexport MAVEN_HOME=/usr/local/java/apache-maven-3.8.5export PATH=${MAVEN_HOME}/bin:${PATH}

    按下esc ,輸入:wq保存退出。

    查看是否安裝成功

    java -versionmvn -v

    6、配置Maven加速鏡像

    cd apache-maven-3.8.5/conf/vim settings.xml

    輸入i,進(jìn)入輸入模式

    alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central

    按下esc ,輸入:wq保存退出。

    四、Docker安裝Jenkins

    1.準(zhǔn)備掛載目錄

    cd home/mkdir jenkins_home

    一定要賦予修改權(quán)限,不然掛載會(huì)失敗,我們這里給最高權(quán)限。

    chmod -R 777 jenkins_home

    2. 執(zhí)行docker命令

    docker run -di –name=myjenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home -v /usr/local/java/jdk:/usr/local/jdk1.8 -v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5 -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

    -v /home/jenkins_home:/var/jenkins_home:是對(duì)容器內(nèi)存儲(chǔ)Jenkins的一些配置信息的文件夾-v /usr/local/java/jdk:/usr/local/jdk1.8:是把linux下的jdk和容器內(nèi)的關(guān)聯(lián)(配置Jenkins時(shí)使用)-v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5:是把linux下的maven和容器內(nèi)的關(guān)聯(lián)(配置Jenkins時(shí)使用)

    -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock:是可以在Jenkins容器里使用我們Linux下的docker。

    五、配置Jenkins

    1. 進(jìn)入Jenkins

    輸入:http://192.168.84.133:8080/(ip+端口號(hào))

    2. 獲取密碼

    docker logs 容器id

    3. 安裝插件

    4. 創(chuàng)建用戶

    5. 保存配置地址

    6. 配置插件鏡像

    輸入:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    點(diǎn)擊提交

    7. 安裝ssh插件

    安裝完成重啟一下Jenkins

    8. 添加ssh登錄賬號(hào)憑據(jù)

    點(diǎn)擊系統(tǒng)管理,找到下圖點(diǎn)擊

    9. 配置全局ssh

    點(diǎn)擊系統(tǒng)管理,找到系統(tǒng)配置

    點(diǎn)擊新增:

    點(diǎn)擊保存:

    10. 配置jdk和maven

    點(diǎn)擊系統(tǒng)管理,找到全局工具配置:

    點(diǎn)擊保存

    六、準(zhǔn)備Springboot項(xiàng)目到git

    1. 核心代碼

    我們看到只是一個(gè)請(qǐng)求打印,我們最后訪問有docker成功,代表我們構(gòu)建發(fā)包成功!

    2. pom內(nèi)容

    org.springframework.boot spring-boot-maven-plugin repackage true

    3. yml文件

    這里只指定了端口號(hào)

    server.port=8081

    4. Dockerfile

    和pom文件同級(jí)

    FROM java:8COPY *.jar /app.jarCMD [“–server.port=8080”]EXPOSE 8080ENTRYPOINT [“java”, “-jar”, “/app.jar”]

    5. 上傳git倉庫

    七、使用Jenkins部署項(xiàng)目

    1. 新建任務(wù)

    2. 添加git憑據(jù)

    選擇剛剛添加的憑據(jù)報(bào)錯(cuò)信息消失

    3. 添加maven構(gòu)建

    4. 增加構(gòu)建執(zhí)行shell

    shell腳本:

    #!/bin/bash# 服務(wù)名稱SERVER_NAME=jenkins# 源jar名稱,mvn打包之后,target目錄下的jar包名稱JAR_NAME=demo-0.0.1-SNAPSHOT# jenkins下的目錄JENKINS_HOME=/var/jenkins_home/workspace/jenkins# 等待三秒echo sleep 3ssleep 1echo sleep 2ssleep 1echo sleep 1ssleep 1echo “結(jié)束進(jìn)程完成”cd $JENKINS_HOME/targetcp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target# 修改文件權(quán)限chmod 755 $JAR_NAME.jarecho “看看docker能不能用”docker -vecho “停止容器”# 停止容器docker stop springbootecho “刪除容器”# 刪除容器docker rm springbootecho “刪除鏡像”# 刪除鏡像docker rmi springbootecho “打包鏡像”# 打包鏡像docker build -t springboot .echo “運(yùn)行鏡像”# 運(yùn)行鏡像docker run -d -p 8081:8081 –name springboot springboot

    5. 立即構(gòu)建

    6. 控制臺(tái)輸出報(bào)錯(cuò)

    我們看到打包成功了,就是在使用docker命令的時(shí)候出現(xiàn)權(quán)限問題,這是我們要給docker.sock權(quán)限就可以解決了??!

    報(bào)錯(cuò)信息:

    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/springboot/stop”: dial unix /var/run/docker.sock: connect: permission denied

    解決方案:

    chmod a+rw /var/run/docker.sock

    7.在次構(gòu)建

    我們發(fā)現(xiàn)沒有報(bào)錯(cuò),也看到了容器的id

    8. 查詢docker鏡像是否啟動(dòng)

    docker images docker ps

    9. Win10進(jìn)行訪問測試

    輸入地址:http://192.168.84.133:8081/test/docker

    七、總結(jié)

    小編斷斷續(xù)續(xù)研究了一星期,太不容易了,中間也是遇到很多坑,只要是跟著小編走下去的基本都可以跑出來的!看到這里還不給小編一鍵三連起來??!謝謝大家了哦~


    有緣人才可以看得到的哦!?。?/p>

    小王博客站

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月13日 06:01
    下一篇 2022年6月13日 06:01

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息