使用云效进行自动化构建和部署

使用云效进行自动化构建和部署

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、开启代码源触发

开启后当提交源代码后,即可自动执行流水线。

![image-20210921000336201](/Users/zhangruifeng/Library/Application Support/typora-user-images/image-20210921000336201.png)

开启后需要将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}

9、提交代码,自动触发流水线

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注