一、Docker環境安裝
參考連結:https://blog.csdn.net/dingzhukun/article/details/90672128
安裝yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
為yum源添加docker倉庫位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Copy to cli
安裝docker
yum install docker-ce
啟動docker
systemctl start docker
開機自啟
systemctl enable docker
二、mysql安裝
下載下傳mysql5.7的docker鏡像:
docker pull mysql:5.7
使用docker指令啟動:
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
參數說明
-p 3306:3306:将容器的3306端口映射到主機的3306端口
-v /mydata/mysql/conf:/etc/mysql:将配置檔案夾挂在到主機
-v /mydata/mysql/log:/var/log/mysql:将日志檔案夾挂載到主機
-v /mydata/mysql/data:/var/lib/mysql/:将資料檔案夾挂載到主機
-e MYSQL_ROOT_PASSWORD=root:初始化root使用者的密碼
進入運作mysql的docker容器:
docker exec -it mysql /bin/bash
使用mysql指令打開用戶端:
mysql -uroot -pwsg123456 --default-character-set=utf8
三、防火牆
ystemctl status firewalld ##檢視火牆狀态
systemctl start firewalld ##開啟火牆服務
systemctl stop firewalld ##關閉火牆服務
systemctl enable firewalld ##開機自動開啟
systemctl disable firewalld ##開機不自啟
systemctl reload firewalld ##重新開機防火牆
firewall-cmd --permanent --zone=public --add-port=8080/tcp ##添加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重新開機後失效)
firewall-cmd --permanent --zone=public --remove-port=8080/tcp ##删除端口
firewall-cmd --add-service=ssh --permanent ##永久添加ssh服務(添加完後重新加載一下就可以檢視了)
iptables -nL
firewall-cmd --list-ports ##檢視已經開放的端口
# 配置 docker 容器内允許通路外部網絡(需重新開機 firewalld、docker 以生效)
firewall-cmd --permanent --zone=trusted --change-interface=docker0
四、gogs安裝
下載下傳Gogs的Docker鏡像
docker pull gogs/gogs
使用docker run指令即可運作服務
docker run -p 10022:22 -p 10080:3000 --name=gogs \
-v /mydata/gogs:/data \
-d gogs/gogs

web鈎子關聯jenkins
http://wsgx.club:8080/gogs-webhook/?job=superJob
測試推送是否成功
五、docker私有倉庫的建立
docker私有倉庫的建立
下載下傳私有倉庫:docker pull registry
跑私有倉庫鏡像:docker run -d --name=registry -p 5000:5000 registry
啟動私有倉庫:docker start registry
打開浏覽器驗證:http://IP位址:5000/v2/_catalog看到頁面顯示{“repositories”:[ ]}表示私有倉庫建立成功。并且内容為空。
修改daemon.json:vi /etc/docker/daemon.json
在裡面添加{"insecure‐registries":["192.168.184.135:5000"]} ,讓docker信任私有倉庫位址。
重新開機docker服務。systemctl restart docker
修改主控端的docker配置,讓其可以遠端通路 vi /lib/systemd/system/docker.service
在中ExecStart=後添加配置 ‐H tcp://0.0.0.0:2375 ‐H unix://var/run/docker.sock
eg: -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
重新整理配置。重新開機服務
systemctl daemon-reload
systemctl restart docker
docker start registry
五、Jenkins安裝Jenkins的配置
下載下傳Jenkins的Docker鏡像
docker pull jenkins/jenkins:lts
在Docker容器中運作Jenkins:
docker run -p 8080:8080 -p 50000:5000 --name jenkins \
-u root \
-v /mydata/jenkins_home:/var/jenkins_home \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-d jenkins/jenkins:lts
需安裝插件Gogs webhook 鈎子跟gogs關聯
插件如果下載下傳不了,可以先關閉防火牆,之後再開啟
如果建立任務沒有建構一個maven項目 ,安裝插件Maven Integration
Jenkins的配置
系統管理 全局工具配置
配置jdk
配置maven
打包部署SpringBoot應用
一、将代碼上傳到Git倉庫
二、maven插件,不用也行,jenkins會執行打包
在Jenkins中建立執行任務
job配置
建立maven任務
1、配置git
2、配置建構觸發器
3、配置pre steps
#!/bin/bash -il
result=$(docker ps | grep mall-registry)
if [[ "$result" != "" ]]
then
echo "stop mall-registry"
docker stop mall-registry
fi
result1=$(docker ps -a | grep mall-registry)
if [[ "$result1" != "" ]]
then
echo "rm mall-registry"
docker rm mall-registry
fi
result2=$(docker images | grep mall-registry)
if [[ "$result2" != "" ]]
then
echo "rmi mall-registry:0.0.1-SNAPSHOT"
docker rmi mall-registry:0.0.1-SNAPSHOT
fi
4、配置pom
5、配置post steps
#!/bin/bash -il
docker run -p 6001:6001 --name mall-registry -v /etc/localtime:/etc/localtime -v /mydata/app/backstage-registry/logs:/var/logs -d mall-registry:0.0.1-SNAPSHOT
echo "docker run"
docker start mall-registry
echo "docker start"