go程序基于阿里云CodePipeline的一次devops实践

  • 时间:
  • 浏览:0

最近亲戚亲戚朋友 有个项目代码托管用的码云,测试服务器(阿里云ECS)不还可不可不可以否一台,三四买车人开发,于是想基于阿里云的CodePipeline快速打造一套自动化cicd的流程,使用docker来进行多套环境部署。

我这里使用的是阿里云的私有的镜像仓库基于Dockerfile来构建镜像,注意配置凭证。

![在这里插入图片描述]

使用nohup直接将ci server放置后台运行。



可能性项目使用到了其他国外的lib,当然选择国内的节点也是还可不可不可以 的,不过在写Dockerfile的很久记得加进代理。

直接修改点东西提交代码后就等邮件通知了,是时会感觉很爽。



提交完代码后就之前 刚开始触发构建了。



最后构建完完成后触发ci server 进行deploy,完成邮件通知。



登录到阿里云Ecs上亲戚亲戚朋友 发现亲戚亲戚朋友 的容器可能性启动成功了。

第1个参数是对应开发人员启动容器的名字以及构建镜像的tag和底下构建的配置一致,第五个参数是映射的端口。

构建ci_web_server买车人的电脑是windows的,亲戚亲戚朋友 的阿里云ecs上又那么go环境,想构建基于linux的二进制守护程序运行运行,于是直接利用docker image 来构建了镜像,1个指令正确处理问题图片图片。

mail.go



这里选择1个构建的代码分支,因此 点击生成,将生成后的url还可不可不可以 在对应的代码仓库配上webhook相似的配置。选择大约 的触发妙招。



阿里云构建步骤底下部署到ECS上(不方便)和部署到k8s(收费)时会能满足项目场景需求,不过底下支持shell脚本,于是买车人想在亲戚亲戚朋友 的那台阿里云ECS上跑个ci的web server,这里构建完很久就去通知下其他接口,因此 去执行其他docker指令的脚本,拉取构建完很久的镜像因此 重新启动,启动完很久邮件通知。于是写了另1个1个很简单的web server。

main

阿里云CodePipeline是兼容Jenkins标准的、提供快速可靠的持续集成与持续交付服务。基于容器技术和阿里云基础服务架构,提供稳定和安全的代码/Docker编译构建,测试,扫描和部署的工具服务,并提供Pipeline As Code的编码级配置模式,满足应用守护程序运行运行和基础设施快速可靠的交付和更新。



底下是阿里云的官方介绍,兼容jekins的标准,一次无意的点击出显了下图的图标,感觉却说 jenkins的基础上做了一次二次开发。

ci.sh



选择大约 的代码仓库,不还可不可不可以否 是私仓,不过须要配上买车人的账号和ssh key相关信息。

注:可能性选择国内节点构建须要配上代理 ENV GOPROXY https://goproxy.io