当前位置:   article > 正文

阿里云云效流水线教程_阿里云云效构建是在哪里

阿里云云效构建是在哪里

第一章 云效流水线教程

大家有时候需要云效的流水线来一键部署,下面把关键的注意事项写出来。

1、登录云效

2、新建流水线,选择自己的ECS

3、选择代码,选择版本

4、java构建的时候需要注意,其中涉及到自己的jar,可能存在同一版本号,无法更新下载到最新的文件,所以部署的时候需要首先把以前的删除掉,然后再去打包,所以下面的命令需要修改一下。

  1. #com/naturobot是自己项目的包名
  2. rm -rf /root/.m2/repository/com/naturobot
  3. # 下面的命令不用改,原来是什么样的就是什么样的。
  4. mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip

 5、构建物的上传文件夹地址,大家注意一下。直接就是项目的文件夹路径,前面没有斜杠。这里需要注意,你的deploy.sh文件必须在项目中要存在的,文件名随便起,这里的路径一定要正确,不然找不到该文件就无法部署了。

 6、deploy.sh文件demo

  1. #!/bin/bash
  2. # 修改APP_NAME为云效上的应用名
  3. APP_NAME=naturobot-user-service
  4. VERSION_NAME=0.0.1
  5. PROG_NAME=$0
  6. ACTION=$1
  7. APP_START_TIMEOUT=50 # 等待应用启动的时间
  8. APP_PORT=8031 # 应用端口
  9. HEALTH_CHECK_URL=http://127.0.0.1:${APP_PORT} # 应用健康检查URL
  10. HEALTH_CHECK_FILE_DIR=/opt/${APP_NAME}/status # 脚本会在这个目录下生成nginx-status文件
  11. APP_HOME=/opt/${APP_NAME} # 从package.tgz中解压出来的jar包放到这个目录下
  12. JAR_NAME=${APP_HOME}/${APP_NAME}-${VERSION_NAME}.jar # jar包的名字
  13. JAVA_OUT=${APP_HOME}/logs/start.log #应用的启动日志
  14. # 创建出相关目录
  15. mkdir -p ${HEALTH_CHECK_FILE_DIR}
  16. mkdir -p ${APP_HOME}
  17. mkdir -p ${APP_HOME}/logs
  18. usage() {
  19. echo "Usage: $PROG_NAME {start|stop|restart}"
  20. exit 2
  21. }
  22. health_check() {
  23. echo "check ${HEALTH_CHECK_URL} success"
  24. }
  25. start_application() {
  26. echo "starting java process"
  27. nohup java -jar -Dspring.profiles.active=test1230 ${APP_NAME}-${VERSION_NAME}.jar >/dev/null 2>&1 &
  28. echo "started java process"
  29. }
  30. stop_application() {
  31. checkjavapid=`ps -ef | grep java | grep ${APP_NAME}-${VERSION_NAME}.jar | grep -v grep |grep -v 'deploy1230.sh'| awk '{print$2}'`
  32. if [[ ! $checkjavapid ]];then
  33. echo -e "\rno java process"
  34. return
  35. fi
  36. echo "stop java process"
  37. times=60
  38. for e in $(seq 60)
  39. do
  40. sleep 1
  41. COSTTIME=$(($times - $e ))
  42. checkjavapid=`ps -ef | grep java | grep ${APP_NAME}-${VERSION_NAME}.jar | grep -v grep |grep -v 'deploy1230.sh'| awk '{print$2}'`
  43. if [[ $checkjavapid ]];then
  44. kill -9 $checkjavapid
  45. echo -e "\r -- stopping java lasts `expr $COSTTIME` seconds."
  46. else
  47. echo -e "\rjava process has exited"
  48. break;
  49. fi
  50. done
  51. echo ""
  52. }
  53. start() {
  54. start_application
  55. health_check
  56. }
  57. stop() {
  58. stop_application
  59. }
  60. case "$ACTION" in
  61. start)
  62. start
  63. ;;
  64. stop)
  65. stop
  66. ;;
  67. restart)
  68. stop
  69. start
  70. ;;
  71. *)
  72. usage
  73. ;;
  74. esac

 7、主机部署,这里就比较简单,如果配置主机组的时候什么ECS也看不到,那可能是你的RAM没有权限。找一个权限大一点的帐号或者分配一个权限。然后就是下载路径就是自己的ECS上的路径,想部署在哪里就写自己的文件夹地址就可以了。执行用户就是ROOT,不需要修改。比较重要的就是下面的部署脚本,需要懂得基础的linux命令。

  1. # 文件夹是否存在,不存在创建一个文件夹,存在也不报错
  2. mkdir -p /opt/naturobot-user-service
  3. # 删除以前的文件夹
  4. rm -rf /opt/naturobot-user-service/naturobot-user-service
  5. # 解压
  6. tar zxvf /opt/naturobot-user-service/package.tgz -C /opt/naturobot-user-service/
  7. # 复制
  8. mv -f /opt/naturobot-user-service/naturobot-user-service/target/naturobot-user-service-0.0.1.jar /opt/naturobot-user-service/naturobot-user-service-0.0.1.jar
  9. # 复制
  10. mv -f /opt/naturobot-user-service/naturobot-user-service/deploy1230.sh /opt/naturobot-user-service/deploy1230.sh
  11. # 删除
  12. rm -rf /opt/naturobot-user-service/naturobot-user-service
  13. # 赋权
  14. chmod 777 /opt/naturobot-user-service/naturobot-user-service-0.0.1.jar
  15. chmod 777 /opt/naturobot-user-service/deploy1230.sh
  16. cd /opt/naturobot-user-service
  17. #启动,这里不需要停止,是因为在deploy1230.sh文件中会先停止在启动。
  18. sh /opt/naturobot-user-service/deploy1230.sh restart

第二章 课外知识

1、云效流水线 Flow 是什么,阿里官网是这样解释的。

「流水线」,又名「Flow」,是一款企业级、自动化的研发交付流水线, 提供灵活易用的持续集成、持续验证、 持续发布功能,帮助企业高质量、高效率的交付业务。

流水线是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅。

2、为什么选择「Flow」。

快速上手配置。相比较自建的持续交付工具,使用 Flow 仅仅需要几步,就可以快速搭建 CICD 流程。Flow 为你提供了开箱即用的构建环境,提供了数十种通用的流水线模版帮助你快速创建流水线,从此,你的企业无需花费精力维护你的 CICD 工具。同时,我们提供了支持各种场景的最佳实践文章供你参考,帮助你更快上手使用。Flow语言专项场景。

3、各种覆盖各种工具和技术栈

Flow 作为一款企业级的自动化交付流水线,全面覆盖研发场景中涉及的技术栈和工具链。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/799423
推荐阅读
相关标签
  

闽ICP备14008679号