
Jenkins(docker版)自动部署vue/uni-app项目经验
Jenkins的原理其实很简单,就是依据各种插件做package、build等功能,然后再帮你去执行一些shell命令,本篇文章参考我之前的两篇Docker创建Jenkins容器自动部署maven项目经验vue-cli项目打包用docker部署到服务器主要功能文件1.default.conf/docker/jenkins_home/workspace/Moon-Vue/unpackag
·
Jenkins的原理其实很简单,就是依据各种插件做package、build等功能,然后再帮你去执行一些shell命令,本篇文章参考我之前的两篇
Docker创建Jenkins容器自动部署maven项目经验
主要功能文件
1.default.conf
/docker/jenkins_home/workspace/Moon-Vue/unpackage/default.conf
server {
listen 80;
server_name localhost; # 修改为docker服务宿主机的ip
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
2.Dockerfile
/docker/jenkins_home/workspace/Moon-Vue/unpackage/Dockerfile
FROM nginx
MAINTAINER cick-y
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
3.moon.sh
/docker/jenkins_home/moon.sh
cd /docker/jenkins_home/workspace/Moon-Vue/unpackage/
cid=$(docker ps -a| grep "moon")
if [ "$cid" != "" ]; then
docker stop moon
docker rm moon
fi
echo "docker ps id"
echo $cid
images=$(docker images| grep "moon" | awk '{print $3}')
if [ "$images" != "" ]; then
docker rmi $images
fi
echo "docker images id"
echo $images
docker build -t moon:1.0 .
newimages=$(docker images| grep "moon" | awk '{print $3}')
docker run -itd --name moon -p8081:80 $newimages
主要注意事项
1.要用到SSH插件以传输文件为幌子去服务器主机执行shell命令
注意:项目设置里面的配置SSH是以系统设置全局配置里面的SSH目录为前缀,在它的目录下面去配置的
2.nodejs插件配置
更多推荐
所有评论(0)