DevOps 之路

Stella981
• 阅读 677

本日共賞

  • 系統架構

  • 部署 Jenkins

希望你知道

  • DevOps

  • CI/CD

  • 在 GCP 中建立 k8s 叢集

既然這次是參加 DevOps 組別,勢必要與 DevOps 做個完美的結合。我們在過去的二十幾天內,一起探討了 k8s 的概念、各種不同的物件以及欣賞了各種不同的應用。最終,當然是希望將 k8s 套用到日常運作的系統內。在 GCP 中建立 k8s 叢集 已經介紹過如何在 GCP 平台上建立 k8s 叢集,因此利用這最後的時間,我們就以 GCP 當作例子示範來欣賞一下如何建立一條自動部署的 Pipeline。

系統架構

讓我們先看一下整個系統的流程架構圖

DevOps 之路

  • 開發者:就是你拉!你可以利用不同的程式語言,無論是 Java, Go, PHP, Node, Python, ... 等等,開發你的應用程式。

  • Code Repository:當你在開發過程中,可以把開發紀錄存放在 Code Repository。無論是追縱、維護程式都有很多好處。常見的有 github, bitbucket,... 等等。

我們這次使用 github

  • CI/CD 工具:當程式撰寫完成並上傳到 Code Repository 後,就輪到 CI/CD 工具上場了,透過適當的設定,這些工具會在 Repository 發生變化時,嘗試編譯、執行、測試或部署新版本的應用程式,常見的工具有 Jenkins, Drone, CircleCI, ... 等等。

我們這次使用 Jenkins

  • Container Image Repository:用來放置 k8s 需要使用的映像檔,如果不介意公開的話,可以直接使用 Docker Hub,我們使用 GCP 提供的 Container Registry 服務當作本次的示範。

  • k8s 開發測試環境:供內部測試使用,可與正式環境並存在 k8s 叢集中。

透過命名空間,我們可以在 k8s 叢集中切開正式環境與測試環境。好處是兩個環境不會互相干擾,但卻可以在相同叢集下運作。

  • k8s 正式環境:提供對外的服務,可供一般使用者存取。

雖然上圖看起來正式與測試環境不同,但這裡提到的測試環境與正式環境是同時存在同一個 k8s 叢集中,當然如果需要,你想要分開兩個叢集也可以。

部署 Jenkins

Google 有提供一個範例可供下載,首先打開 Cloud Shell 下載

本文分享自微信公众号 - PM吃瓜(wu_lian_club)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps国际峰会是国内唯一的国际性DevOps技术峰会,由OSCAR 联盟指导、DevOps时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈DevOps体系与方法、过程与实践、工具与技术。会议召开时间:2019070508:00至2019070618:00结束会议召开地点:北京主办单位:DevOps
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这