本人服務器使用的是華為雲的彈性雲服務器,安裝CentOS 7.6
先給yum切換阿里源:
- 備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup- 下載
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo- 生成緩存
yum makecache
前期准備
1、服務器安裝docker,鏈接
2、服務器安裝JDK、Tomcat及Maven,鏈接
3、服務器安裝git,鏈接
5、服務器安裝jenkins,鏈接
6、服務器安裝配置docker-compose,鏈接
step1:持續集成后端SpringBoot項目
- 本地項目編輯 Dockerfile 文件
FROM java:8 # 項目在容器內部運行的端口 EXPOSE 8080 VOLUME /tmp ADD /target/diyuan-farm.jar /app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]
- 本地項目編輯 docker-compose.yml 文件
version: '2' services: diyuan-farm: image: soldierdocker/diyuan-farm ports: # 8082為外部訪問端口 8080為內部運行端口與Dockerfile保持一致 - "8082:8080" environment: - spring.profiles.active=prod # 映射文件路徑 volumes: - /usr/local/projectFile/diyuan-farm/:/usr/local/projectFile/diyuan-farm/
- 項目的github地址配置
主要操作如下:(部分沒有勾選的值沒有截屏出來)
Hook URL獲取方式:鏈接教程
- Jenkins新建項目
- Jenkins項目配置
重點!!!!!!!!!三部曲
構建的第一步是maven,第二步docker,順序不能錯:
maven腳本命令:clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -B -V
- 如果構建的第二步使用的是阿里雲鏡像服務
clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -B -V
docker login --username=阿里雲用戶名 --password=阿里雲密碼 registry.cn-hangzhou.aliyuncs.com docker build -t registry.cn-hangzhou.aliyuncs.com/soldier-hub/diyuan-farm:latest . docker push registry.cn-hangzhou.aliyuncs.com/soldier-hub/diyuan-farm:latest
- 提交源碼更新或點擊立即構建的結果:
成功!!!!!!!!!!!!!!!!!!!!!!!!!!!
step2:持續集成前端Vue項目
ci前的准備:
1、Jenkins服務器安裝Nodejs,鏈接
2、Jenkins安裝Nodejs插件
依次點擊:系統管理-》插件管理-》可選插件
點擊直接安裝
3、Jenkins全局配置上安裝好的Nodejs
依次點擊:系統管理-》全局工具管理
- 本地項目編輯 Dockerfile 文件
FROM docker.io/nginx MAINTAINER soldier <soldier_wyyx@163.com> RUN rm /etc/nginx/conf.d/default.conf ADD default.conf /etc/nginx/conf.d/ COPY dist/ /usr/share/nginx/html/
- 本地項目編輯 docker-compose.yml 文件
version: '2' services: diyuan-farm-vue: image: soldierdocker/diyuan-farm-vue:latest ports: # 8001為外部訪問端口 # 8001必須與default.conf的一致 - 8001:8001
default.conf 文件
server { # 項目在容器內部運行的端口 listen 8001; server_name diyuan-farm-vue; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
- 第三步與持續集成后端項目一樣,點擊查看
- 第四步與持續集成后端項目一樣,點擊查看
- Jenkins項目配置
重點!!!!!!!!!三部曲
shell腳本在下一步會粘貼出來
- 三部曲中的shell腳本
node -v npm -v npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver npm install npm run build
- 提交源碼更新或點擊立即構建的結果:
成功!!!!!!!!!!!!!!!!!!!!!!!!!!!
優化:配合nginx+ssl證書持續集成前端Vue項目!!!
前期准備:
1、重點-》CentOS7安裝nginx並配置ssl證書實現https,鏈接
2、CentOS7下安裝rsync,鏈接
所有配置不變,只是修改 三部曲中的第三步
第三步:
rsync -az --delete ./dist/* /usr/share/nginx/html
- 點擊立即構建,訪問域名
成功!!!!!!!!!!!!!!!!!!!!!!!!!!!