使用云效进行自动化构建和部署
1、在Gitee、GitHub、CodeUp、Gitlab等平台创建代码仓库
创建仓库后,将仓库clone到本地,并编写对应的代码。
如果是docker部署,记得创建好Dockerfile文件,这里给一个Dockerfile的案例:
# 镜像基于java:8
FROM java:8
# 作者
MAINTAINER rayfoo@qq.compp
#创建项目日志存放的文件夹
RUN mkdir -p /app
# 匿名挂载目录
VOLUME /app
# 项目暴露的端口号
EXPOSE 10000
# 添加环境变量
ENV JAVA_OPTS="-Xms256m -Xmx512m"
# 将jar包添加到容器中 /app/目录并更名为xxx.jar
ADD ./target/BaseSpringBoot-1.0.0.jar /app/BaseSpringBoot-1.0.0.jar
# 运行jar包命令 "nohup" "&" 可省略
# -Djava.security.egd=file:/dev/./urandom 加速tomcat启动
ENTRYPOINT ["java","-Xms256m","-Xmx512m","-Djava.security.egd=file:/dev/./urandom","-jar","/app/BaseSpringBoot-1.0.0.jar", "--spring.profiles.active=dev", "--server.port=10000"]
2、进入云效,创建流水线
3、选择代码仓库
4、开启代码源触发
开启后当提交源代码后,即可自动执行流水线。

开启后需要将Webhook配置到相应的源码仓库
5、添加流水线的第一个步骤
一般第一个步骤会扫描代码。
6、可以添加多个并行任务
并行任务会同事执行,当本阶段所有并行任务执行完成后,才会执行下一个流程
7、构建镜像
可以根据需要添单元测试等流程,这里就忽略了直接构建镜像。
构建镜像后会自动上传到阿里云的镜像仓库中,第一次使用可以根据引导创建好对应的镜像仓库即可。
8、镜像部署
构建镜像时,镜像名称、镜像仓库URL等内容都会以环境变量的形式添加到系统中,可以在部署时通过变量的形式获取。
输入脚本如下:
# 登录阿里云仓库
docker login --username=xxx --password=xxx registry.cn-beijing.aliyuncs.com
# ${IMAGES_URL}获取环境变量的方式
docker pull ${IMAGES_URL}
# 这里建议输入 --name后的名称
docker stop base_spring_boot-service
# 启动docker容器
docker run --name=base_spring_boot-service -d ${IMAGES_URL}