云效是阿里云提供的一站式DevOps平台,提供涵盖软件研发全生命周期的研发工具链和研发管理服务,并支持公共云、专有云多种部署形态。通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。
#阿里云效地址
#流水线地址
云效 Flow · 企业级研发交付流水线 (aliyun.com)
#官方创建流水线文档
新建第一条流水线_云效(Apsara Devops)-阿里云帮助中心 (aliyun.com)
1.将项目代码上传至阿里云效
进入【代码管理】,在右上角选择【新建代码库】。
创建成功后,会在右上角显示一个 HTTPS 链接 ,复制一下
然后进入需要IDEA,打开需要上传的项目。选择软件顶部的Git,选择Manager Remotes,新增一个远程地址,将刚复制的链接粘贴进去。
随后进行 Commit 和 Push,将代码推送到远程。显示名字左侧显示 oringin 就说明提交到远程成功了。再去阿里云效找到对应代码库,即可看到所有提交的代码。
2.创建流水线
(1)根据项目开发语言不同,选择对应模板(本人Java项目)
(2)创建成功后,有三个地方需要配置:流水线源,Java构建上传,主机部署。
(3)添加流水线源
如下配置合适内容。
(4) Java构建上传
前面一般默认,只修改打包路径,为项目中使用mvn package 的jar包生成路径。
如我xxl-job项目的打包后在如下位置 xxl-job-admin/target/xxl-job-admin-2.3.1.jar
(5)主机部署
四个红框的地方需要配置,其它可以默认
主机组表示部署在哪台服务器。
下载路径为保存taz包的路径地址:xxx/xxx/package.taz
执行用户为自己登录服务器时的角色用户
部署脚本
如下,将tgz包解压至合适路径,随后执行 sh脚本文件
# 部署脚本会在部署组的每台机器上执行。一个典型脚本逻辑如下:先将制品包(在下载路径中配置的下载路径)解压缩到指定目录中,再执行启动脚本(通常在代码中维护,如示例中deploy.sh)。关于这个例子的详细解释见 https://help.aliyun.com/document_detail/153848.html
# tar zxvf /home/admin/app/package.tgz -C /home/admin/app/
# sh /home/admin/app/deploy.sh restart
# 如果你是php之类的无需制品包的制品方式,可以使用git clone 或者 git pull将源代码更新到服务器,再执行其他命令
# git clone ***@***.git
mkdir -p /home/xxxx/xxl-job-2.3.1/
tar zxvf /home/xxxx/xxl-job-2.3.1/package.tgz -C /home/xxxx/xxl-job-2.3.1/
sh /home/xxxx/xxl-job-2.3.1/deploy.sh restart
(6)sh脚本文件
例如taz包解压在/home/xxxx/xxl-job-2.3.1/ 目录下, 在该目录下新增 deploy.sh 文件,复制以下模板文件粘贴进去再修改部分文件内容。
按需求修改配置文件第4 , 10 , 12 , 13 ,14行的内容即可。
注意点:
APP_NAME为jar包的名字
确保有足够的权限在 APP_NAME 路径创建文件夹。
确保JAR_NAME的路径正确,可以先将 package.taz 包解压后,看jar包路径是什么,再去配置。
(6)保存并运行
3.报错
如果出现报错,看 sh脚本文件中 JAVA_OUT的log文件,根据日志报错内容解决,可能项目代码问题,找不到jar包文件问题,无权限问题等。
如果在解压packge.taz的路径没有发现jar包,要么路径错了,要么taz包为空的,Java构建上传的打包路径填错了。