欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

centos7+docker+Jenkins+svn搭建自動(dòng)

centos7+docker+Jenkins+svn搭建自動(dòng)化部署平臺

1. centos7

  • 參考鏈接:http://www.macrozheng.com/#/reference/linux_install

    建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)建站專業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站制作(企業(yè)站、自適應(yīng)網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!

  • tips

    公司服務(wù)器配置(1T機(jī)械+256固態(tài)+i7的u)
    需要我們把系統(tǒng),環(huán)境(java,MySQL,redis,docker等)裝到固態(tài)上(速度快),我們的代碼放到機(jī)械上。分區(qū)情況如下圖

    centos7+docker+Jenkins+svn搭建自動(dòng)

2. centos7中安裝docker1.31.1

自行百度,此處無坑

3. centos7安裝配置java8,maven,redis,mysql

  • 安裝jdk1.8 和 maven 時(shí)盡量采用壓縮包解壓的方式,采用 yum 有坑。我的安裝路徑

    centos7+docker+Jenkins+svn搭建自動(dòng)

  • 配置環(huán)境 vim /etc/profile,配置結(jié)果如圖

    centos7+docker+Jenkins+svn搭建自動(dòng)

    #java,maven環(huán)境配置
    #用':'分割不同的配置
    export JAVA_HOME=/mydata/java/jdk
    MAVEN_HOME=/mydata/java/maven
    export PATH=$JAVA_HOME/bin:$PATH:${MAVEN_HOME}/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
  • centos7安裝mysql5.7,參考鏈接:
    https://www.cnblogs.com/helf/p/11244711.html

  • centos7安裝redis,參考鏈接:
    https://www.cnblogs.com/zuidongfeng/p/8032505.html

4. docker中安裝 Jenkins

  • 下載 Jenkinsdocker 鏡像:

    docker pull jenkins/jenkins:lts

  • Docker 容器中運(yùn)行 Jenkins

    //此處因?yàn)閖ava和maven是在linux上直接裝的而Jenkins在docker上裝的所以必須掛載jdk和maven(坑)
    //-v命令進(jìn)行掛載,其中冒號前面的是本機(jī)的目錄;
    //必須將本機(jī)的javahome和mavenhome的路徑,掛載到Jenkins容器上
    //冒號后面是容器上的目錄,可以寫跟本機(jī)目錄相同。
    docker run -p 8080:8080 -p 50000:5000 --name jenkins \
    -u root \
    -v /mydata/java/jdk/bin/java:/mydata/java/jdk/bin/java \
    -v /mydata/java/jdk:/mydata/java/jdk \
    -v /mydata/java/maven:/mydata/java/maven \
    -v /mydata/jenkins_home:/var/jenkins_home \
    -d jenkins/jenkins:lts
  • 忘記 Jenkins 初始化密碼,使用 docker logs jenkins 查看日志

  • 參考鏈接:http://www.macrozheng.com/#/reference/jenkins

  • 配置如圖

    centos7+docker+Jenkins+svn搭建自動(dòng)

5. centos7 安裝 svn

? 參考鏈接:https://www.cnblogs.com/zhangheliang/p/8724605.html

6. Jenkins 和 svn整合

  • Jenkins 的配置

    centos7+docker+Jenkins+svn搭建自動(dòng)

還有一種沒有去掉勾的方式,我獲取 crumb 值的時(shí)候報(bào)404,為解決,有需要自行百度

? centos7+docker+Jenkins+svn搭建自動(dòng)

? centos7+docker+Jenkins+svn搭建自動(dòng)

? centos7+docker+Jenkins+svn搭建自動(dòng)

? centos7+docker+Jenkins+svn搭建自動(dòng)

centos7+docker+Jenkins+svn搭建自動(dòng)

centos7+docker+Jenkins+svn搭建自動(dòng)

  • svn 的配置

    centos7+docker+Jenkins+svn搭建自動(dòng)

  • 在生成的 post-commit 中加入下面的代碼

    curl -X post -v -u admin:117f598cc5f81226faaac0ceff40b367da http://ip:8080/jenkins/job/jenkinsdemo/build?token=APPLE_TOKEN

7. shell腳本和DockerFile文件

#!/bin/bash
#操作/項(xiàng)目路徑(Dockerfile存放的路徑),每個(gè)項(xiàng)目都有對應(yīng)的dockerfile
DOCKERFILE_PATH=/mydata/jenkins_home/workspace/jenkinsdemo/src/main/docker
#jenkins工作空間
SOURCE_PATH=/mydata/jenkins_home/workspace
#docker 鏡像/容器名字或者jar名字 這里都命名為這個(gè)
SERVER_NAME=jenkinsdemo
JAR_NAME=demo-0.0.1-SNAPSHOT
#獲取容器id
CID=$(docker ps | grep "${SERVER_NAME}" | awk '{print $1}')
#獲取鏡像id
IID=$(docker images | grep "${SERVER_NAME}" | awk '{print $3}')

DATE=`date +%Y%m%d%H%M`

 # 備份
function backup(){
    if [ -f "${DOCKERFILE_PATH}/${SERVER_NAME}.jar" ]; then
        echo "${SERVER_NAME}.jar 備份..."
            cp ${DOCKERFILE_PATH}/${JAR_NAME}.jar ${DOCKERFILE_PATH}/backup/${SERVER_NAME}-$DATE.jar
        echo "備份 ${JAR_NAME}.jar 完成"
    else
        echo "${DOCKERFILE_PATH}/${JAR_NAME}.jar不存在,跳過備份"
    fi
}

# 最新構(gòu)建代碼 移動(dòng)到項(xiàng)目環(huán)境
# 把最新構(gòu)建的jar包放到和dockerfile同級的目錄
function transfer(){
    echo "啦啦啦 ${DOCKERFILE_PATH}"
    echo "最新構(gòu)建代碼 ${SOURCE_PATH}/${SERVER_NAME}/target/${JAR_NAME}.jar 遷移至 ${DOCKERFILE_PATH}"
        cp ${SOURCE_PATH}/${SERVER_NAME}/target/${JAR_NAME}.jar  ${DOCKERFILE_PATH}/
    echo "遷移完成"
}

# 修改訪問權(quán)限
function changemod(){
    echo "修改 ${DOCKERFILE_PATH}/${JAR_NAME}.jar 的訪問權(quán)限"
       cd ${DOCKERFILE_PATH}
       chmod 777 ${JAR_NAME}.jar
    echo "修改訪問權(quán)限完成"
}

# 構(gòu)建docker鏡像
function build(){
    if [ -n "$IID" ]; then
        echo "存在${SERVER_NAME}鏡像,IID=$IID"
        echo "停止容器docker stop  $CID"
        docker stop  $CID
        echo "刪除容器 docker rm $CID"
        docker rm $CID
        echo "刪除鏡像 docker rmi ${SERVER_NAME}"
        docker rmi ${SERVER_NAME}
        echo "構(gòu)建鏡像 docker build -t "${SERVER_NAME}"  ."
        cd ${DOCKERFILE_PATH}
        docker build -t="${SERVER_NAME}"  .
    else
        echo "不存在${SERVER_NAME}鏡像,開始構(gòu)建鏡像  docker build -t ${SERVER_NAME} . "  
        cd ${DOCKERFILE_PATH}
        docker build -t="${SERVER_NAME}"  .
    fi
}

# 運(yùn)行docker容器
function run(){
    backup
    transfer
    changemod
    build
    echo "docker run創(chuàng)建容器... docker run -d  --name=${SERVER_NAME} -p 8002:8082 -v  ${DOCKERFILE_PATH}:${DOCKERFILE_PATH}    jenkinsdemo:latest"
        docker run -d  --name=${SERVER_NAME} -p 8002:8002 -v  ${DOCKERFILE_PATH}:${DOCKERFILE_PATH}    jenkinsdemo:latest
    echo "${SERVER_NAME}容器創(chuàng)建完成"
}

#入口
run 
# 該鏡像需要依賴的基礎(chǔ)鏡像
FROM java:8
# 將當(dāng)前目錄下的jar包復(fù)制到docker容器的/目錄下
ADD demo-0.0.1-SNAPSHOT.jar /jenkinsdemo.jar
# 運(yùn)行過程中創(chuàng)建一個(gè)mall-tiny-docker-file.jar文件
RUN bash -c 'touch /jenkinsdemo.jar'
# 聲明服務(wù)運(yùn)行在8083端口
EXPOSE 8083
# 指定docker容器啟動(dòng)時(shí)運(yùn)行jar包
ENTRYPOINT ["java", "-jar","/jenkinsdemo.jar"]
# 指定維護(hù)者的名字
MAINTAINER zhaoguozhen

centos7+docker+Jenkins+svn搭建自動(dòng)

8. Docker安裝可視化工具Portainer

參考鏈接:https://my.oschina.net/zhengqingya/blog/3066410

centos7+docker+Jenkins+svn搭建自動(dòng)

9.結(jié)果

centos7+docker+Jenkins+svn搭建自動(dòng)

10. TIPS

  • docker 是通過 dockerfile 來講代碼打包成 docker 鏡像并運(yùn)行的,多個(gè)子工程(微服務(wù))也可以使用Docker Compose 來部署(這個(gè)東西類似于批處理,使用一個(gè)命令部署配置的所有服務(wù))

  • shell 腳本中的變量打印不出來考慮換個(gè)名稱

    比如:BASE_PATH 換成 DOCKERFILE_PATH ,shell 腳本就可以執(zhí)行成功

  • 訪問鏈接打不開,考慮是否打開防火墻和權(quán)限

    #打開防火墻
    firewall-cmd --zone=public --add-port=9000/tcp --permanent
    #重新加載
    firewall-cmd --reload
    #查看開放的端口
    firewall-cmd --list-ports
  • 大白話理解 CI CD

    把代碼打包成容器叫CI,把容器部署到服務(wù)器是CD

11. 后記

  • 通過下面這張圖,GitHub webhook 要求必須是公網(wǎng) IP

centos7+docker+Jenkins+svn搭建自動(dòng)

  • 自動(dòng)化部署平臺理解
    centos7+docker+Jenkins+svn搭建自動(dòng)

  • 上面只是橫向弄好了,豎向還沒弄好。下面需要弄個(gè)docker管理器,將打包好的代碼鏡像人工選擇放到docker集群中的某個(gè)docker上

    centos7+docker+Jenkins+svn搭建自動(dòng)

當(dāng)前題目:centos7+docker+Jenkins+svn搭建自動(dòng)
分享路徑:http://aaarwkj.com/article46/gdishg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、軟件開發(fā)品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、響應(yīng)式網(wǎng)站、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
男女搞j视频网站免费观看| 日韩综合欧美激情另类| 国产91九色蝌蚪在线观看| 中文字幕日韩午夜精品| 无人区乱码一区二区三区| 国产亚洲精品第一最新| 国产亚洲精品免费视频| 亚洲一区二区色黄大片| 久久亚洲第一视频网站| 欧美激情日韩精品久久久| 91在线视频麻豆国产| 亚洲成a人片777777久久| 天堂免费av在线播放| 国产传媒在线视频免费| 亚洲国产免费一区二区| 亚洲天堂国产成人精品| 日韩在线不卡av一区二区| 亚洲社区一区二区三区四区| 日韩在线一区二区三区电影| 中文字幕乱码亚洲2019| 午夜福利中文在线观看| 亚洲男人天堂中文字幕| 人妻少妇av免费久久蜜臀| 国产,欧美,日韩,日日骚| 日本久久久视频在线观看| 亚洲人成网站18禁止人| 国产精品一区二区剧情熟女| 精品国产品国语在线不卡| 国产亚洲欧美另类网爆| 欧美精品久久在线观看| 亚洲永久免费精品一区二区三区| 亚洲最大午夜福利视频| 欧美 日韩一区二区在线| 爱爱网爱综合日日干夜夜操 | 日本师生三片在线观看| 无人视频在线观看高清91| 亚洲国产传媒在线观看| 欧美高清在线观看一区二区| 日本韩国国产三级在线| 日韩丰满少妇在线观看| 欧美精品激情在线不卡|