日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 一.開發(fā)Springbot應(yīng)用
  • 二.配置docker
  • 三.配置Jenkins

一.開發(fā)Springbot應(yīng)用

新建多個環(huán)境的配置文件

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

bootstrap.yaml

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

 通過變量獲取不同環(huán)境active 

bootstrap-dev.yml

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

 bootstrap-pre.yaml

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

預(yù)發(fā)布及生產(chǎn)環(huán)境配置文件走nacos

二.配置docker

新增Dockerfile文件

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

Dockerfile內(nèi)容

# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基礎(chǔ)鏡像使用java
FROM openjdk:8
# 作者
MAINTAINER qql <[email protected]>
# VOLUME 指定了臨時文件目錄為/tmp。
# 其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp
VOLUME /tmp
# 設(shè)置時區(qū)
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 將jar包添加到容器中并更名為app.jar
ARG JAR_FILE
ADD target/cdc-0.0.1-SNAPSHOT.jar /app.jar #替換成你項(xiàng)目打包后的文件名稱
#配置項(xiàng)目端口
EXPOSE 8020
# 運(yùn)行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=${env}"] #通過變量傳遞不同的環(huán)境

在服務(wù)器項(xiàng)目下新增docker-composer.yaml文件 ,不要放在代碼版本庫

version: '3'
services:
  project-demo:
    container_name: cdcd-demo #自定義容器名稱
    image: qql/cdcd:0.0.1 #鏡像名稱
    restart: always
    environment:
      env: dev #環(huán)境,不同環(huán)境使用不同環(huán)境名稱
    volumes:
      # 同步時間
      - /etc/localtime:/etc/localtime:ro
      # 如果項(xiàng)目有些日志或者寫文件,需要同步到宿主機(jī)器,也需要定義相應(yīng)的卷
#      - ./data:/etc/project-demo/data
#      - ./log:/etc/project-demo/log
    ports:
      - 8080:8020

三.配置Jenkins

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

新增部署shell腳本

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

#!/bin/bash 
echo "當(dāng)前位置"
pwd
 
mvn clean package -Dmaven.test.skip=true
#切換到項(xiàng)目目錄
cd cdc
pwd
#獲取最新版本tag
LatestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
echo -e "最新版本tag......"
echo -e "$LatestTag"
echo -e "鏡像地址"
 
 
#獲取本機(jī)IP
local_ip=`ifconfig eth0 | grep 'inet' | awk '{print $2}' | sed -e "s/addr\://"`
echo ${local_ip}
#制作docker鏡像
docker build  -f Dockerfile -t qql/cdc:1.0 .
echo "制作成功"
cd ../docker
pwd
#根據(jù)docker-composer.yaml文件新建獲取重新構(gòu)建docker容器
docker-compose -f docker-composer.yaml -p cdc up -d
step=1 #間隔的秒數(shù),不能大于60
content=""
 
for (( i = 0; i < 60; i=(i+step) )); do
status_code=$(curl -I -m 10 -o /dev/null -s -w %{http_code}  127.0.0.1:8080/index/index) #訪問服務(wù)一個接口驗(yàn)證容器是否啟動
echo $status_code
if [ $status_code != 200 ]; then
  sleep $step
  echo "服務(wù)還沒有啟動,耗時"$i"秒"
else
  echo "服務(wù)已經(jīng)啟動,耗時"$i"秒"
  break
fi
 
if [ $i == 59 ]; then
  echo "啟動失敗"
  exit -1
fi
done
 
{
  docker rmi `docker images | grep none | awk '{print $3}'` && /
 
} || {
  echo 'delete null images error(不需要處理)'
}

 保存,則就可以執(zhí)行部署

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

Jenkins+docker發(fā)布Springbot服務(wù)的實(shí)現(xiàn)

分享到:
標(biāo)簽:Docker Jenkins 發(fā)布 服務(wù) 服務(wù)器
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定