阿里云提供了免费的项目管理平台,云效,平台提供了大部分的项目管理部署的功能。
云效地址: 云效
一 . 代码部署
进入云效平台的代码管理创建需要的代码组,
再进入代码组中创建代码仓库,
之后按照里面的说明,正常当作git使用即可。
git账号密码:
右上角点击头像》个人设置可以打开个人设置页面,可以在里面设置https密码或者ssh公钥来设定上传代码的登录验证。
二 、设定流水线
进入代码仓库可以从左边找到流水线,点击进入流水线管理,可以创建流水线。
选择要创建的流水线模版,然后可以进入编辑流水线页面(这里如果没有想要的模板,也可以先找个相近的,进入编辑页面后修改)
如图是一个创建好的流水线,有三步,【选择代码源】,【编译并推送到镜像仓库】,【k8s发布】
代码源中要选择代码源(这里是阿里云效中的自带源,也可以使用别的),选择仓库和分支
构建,和生成镜像则要配置java构建命令,和生成镜像仓库的名称,tag等
java 构建命令
# 解析各命令的意义
# clean - 清除之前打包生成的文件
# compile - 编译
# package - 生成打包文件
# -pl pkg-name - 多项目的java 打包时要打包哪个项目
# -am -amd - 编译时进行引用依赖和被引用依赖均进行打包引用处理
# -Ptest - 使用的配置文件(例如测试环境,正式环境)
# -Dmaven.test.skip=true - 跳过测试
# -f pom.xml - 使用哪个pom文件进行打包
# -s /home/jenkins/settings/settings.xml - 如果是内网需要用其它的mvn源则需要加入此声明
mvn clean compile package -pl xxxxx -am -amd -Dmaven.test.skip=true -f pom.xml
选择镜像仓库和DockerFile 路径,填写DockerFile路径
(这里我直接使用了阿里的官方镜像源,个人镜像有免费额度,测试够用了)
K8s 发布,要填入对应的集群,命名空间,yaml文件位置,变量等,这里的变量是上游的镜像和tag的名称,选择【上游任务xxx】这个选项,变量key 填入IMAGE val选择【标签.${DATETIME}】可以将k8s部署的yaml文件中的${IMAGE}自动替换为对应的镜像源
三 、流水线上线
完成上面的设置可以点击保存并运行,进行项目部署,或者仅保存。
之后可以直接选择对应的流水线进行部署。
有一个要注意的点,这里有一个开启代码源触发的设置,如果开启了,则会每次push代码就触发流水线,我们的项目由于是多项目模式,所以建议关闭此项选项,手动触发流水线部署。