触发构建器
可以配置一些定时构建等,我这里只是测试所以没有选择触发器。
构建环境
勾选Delete workspace before build starts
勾选Inject environment variables to the build process,存放构建是需要用到的环境变量
构建- 添加执行shell步骤
增加构建步骤-执行shell,脚本如下:
构建后步骤
上传文件到服务器
增加构建后操作步骤-选择Publish artifacts to SCP Repository ,填入需要上传的压缩文件
这里文件目录的基础目录是workspace,如果不知道具体的地址,可以先不创建构建后步骤保存下,然后点击立即构建,等待成功后,点击工作空间看下文件路径是怎样的,比如我的是这样的:
得到压缩文件目录是WebApplication/bin/web-publish.tar
添加 服务器上要执行的shll命令 步骤
增加构建后操作轴- 选择 Send build artifacts over SSH
这里要新增两个Transfers Set,在第一个Transfers的Exec command输入创建镜像脚本:
# 工作目录 WORK_DIR="/root/publish/WebApplication"; cd ${WORK_DIR} # 删除原有发布文件夹 rm -rf web-publish; # 解压 tar -xvf web-publish.tar; #删除文件压缩包 rm -f web-publish.tar; #切换生成目录 cd web-publish/ #备份镜像 #停止容器 docker stop ${DOCKER_CONTAINER_NAME}; #删除容器 docker rm ${DOCKER_CONTAINER_NAME}; #删除镜像 docker rmi $(docker images | grep ${DOCKER_IMAGE_NAME}); #创建镜像 docker build -t ${DOCKER_IMAGE_NAME} ./;在第二个Transfers的Exec command,输入运行容器命令:
# 运行容器 docker run -d -p 8001:80 --name ${DOCKER_CONTAINER_NAME} ${DOCKER_IMAGE_NAME}到这里所有的设置都已经搞好啦,点击立即构建 测试一下吧~