阿里云项目敏捷实践之DevOps

简介: 敏捷开发少不了一个方便的持续交付环境。今天我使用阿里云简单搭了一套开发环境,这里简单记录一下搭建过程。

12.jpg


Jenkins搭建

首先得有个Jenkins服务,在阿里云的容器里面搭jenkins很简单,基本上按照文档搞就行了,https://www.alibabacloud.com/help/zh/doc-detail/42988.htm


流程:

1.申请ecs主机

2.创建swarm集群,绑定ECS主机作为节点

3.在集群中创建应用,选择Jenkins模板

4.访问Jenkins master,初始化配置,用户,安装插件

5.使用内网ip绑定Jenkins slave


创建CI和CD任务

接下来我们就可以配置jenkins上的项目了,大体流程可以参见上文阿里云的文档。只是文档是以gitbub代理为例讲解,而我们的代码托管在coding上,配置过程稍有不同。


要让jenkins拉取coding的源码,需要在jenkins上部署相关证书。使用开发者所用证书,明显是一种不安全的做法,所幸coding跟gitlab一样可以设置专门的只读部署证书。


集成日志服务

一个舒适的开发环境怎么能离开得了好的日志服务,阿里云集成日志服务同样很简单。

配置过程仍然可以参见阿里云文档https://www.alibabacloud.com/help/zh/doc-detail/26036.htm,这里同样只列出我踩过的坑。

为了对日志分析友好,我们选择了json格式的日志formatter,但是阿里云的容器日志默认会自动添加时间戳,破坏了日志的格式,我们修改一下默认配置


5266821-f48b6827d964b07b.png

我们服务端采用了golang,为了使docker镜像最小化,采用了scratch作为base,发现了一个问题,由于没有时区设置,日志打印时间总是跟我们的当地时间相差了8个小时,解决方法是在镜像中加入相关的配置文件。


获取应用版本

测试环境上,我们经常有这样的困扰,现在环境中部署的代码到底是对应哪个版本的呢。

解决方案就是在build docker镜像的时候在jenkins脚本中把commit-id作为ARG传入,设置到镜像的ENV中,通过一个特殊的后门接口返回。


jenkins脚本中写入,docker build --build-arg VERSION_ARG=$GIT_COMMIT -t ...

Dockerfile中写入

ARG VERSION_ARG=not_from_jenkins

ENV VERSION $VERSION_ARG

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
运维 安全 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
在数字化转型的浪潮中,企业对于IT基础设施的要求越来越高,不仅需要快速响应市场变化,还要确保系统的稳定与安全。本文深入探讨了如何通过融合DevOps文化和容器化技术来构建一个高效、稳定且易于管理的云基础设施。通过实际案例分析,阐述了持续集成/持续部署(CI/CD)流程的优化、自动化测试、监控以及日志管理等关键环节的实施策略,旨在为运维专业人员提供一套切实可行的解决方案。
31 3
|
1月前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
110977 127
阿里云实时计算Flink的产品化思考与实践【下】
|
15天前
|
NoSQL 关系型数据库 MySQL
阿里云服务器部署项目流程
本文主要讲解阿里云服务器的部署,如何选择配置等
|
15天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器技术融合实践
【4月更文挑战第15天】 在当今快速发展的信息技术时代,传统的IT运维模式已难以满足业务敏捷性的需求。本文旨在探讨如何通过整合DevOps理念和容器技术来构建一个高效的自动化运维体系。文章将详细阐述DevOps的核心原则、容器技术的基础知识,以及两者结合的优势。此外,文中还将分享一系列实践经验,包括持续集成/持续部署(CI/CD)流程的搭建、微服务架构的应用,以及监控和日志管理策略的优化,以期帮助企业实现快速、可靠且安全的软件交付过程。
|
15天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
473 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
17天前
|
运维 Devops 持续交付
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【4月更文挑战第13天】 在当今快速迭代和持续部署的软件开发环境中,传统的IT运维模式已难以满足业务发展的需求。本文聚焦于如何通过融合DevOps理念与容器化技术,构建一个高效、稳定且易于管理的云基础设施。文章将探讨持续集成/持续交付(CI/CD)流程的优化、容器化技术的最佳实践、以及微服务架构下的应用管理,以期为企业提供一种改进运维效率、加速产品上市时间,同时保障系统稳定性的解决方案。
|
23天前
|
消息中间件 SQL Java
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
|
28天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:基于容器技术的DevOps实践
【4月更文挑战第2天】随着云计算和微服务架构的兴起,传统的IT运维模式正逐渐向DevOps转型。本文将探讨如何通过容器技术实现自动化运维,提高系统部署效率与稳定性。首先,分析了当前企业面临的运维挑战及DevOps的优势;其次,详细介绍了容器技术的核心组件以及在自动化运维中的应用;最后,结合实际案例,展示了基于容器的DevOps流程设计与实施步骤,旨在为企业构建高效、可靠的自动化运维体系提供参考。
15 2
|
1月前
|
运维 Kubernetes Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
随着企业数字化转型的不断深入,传统的IT运维模式已经难以满足快速迭代和持续交付的需求。本文将探讨如何通过结合DevOps文化与容器化技术,构建一个既高效又稳定的云基础设施。文章首先概述了DevOps的核心理念及其在现代运维中的重要性,然后详细介绍了容器化技术,特别是Docker和Kubernetes在实现微服务架构中的应用。最后,文中通过案例分析展示了这一融合实践如何在真实环境中提升运维效率和系统稳定性。
21 7
|
1月前
|
Devops Python
【DevOps】 Mkdocs 静态站点生成器 简介及实践
MkDocs是一个基于Python的静态站点生成器,它可以将Markdown格式的文档转换为漂亮的静态网站。MkDocs提供了一种简单而灵活的方式来创建文档,并支持多种主题和插件。

热门文章

最新文章