如何使用GitLab部署asp.Net Core到 Kubernetes Engine 以实现 CI/CD

本文详细介绍如何在GitLab上搭建服务器,配置CICD流程,部署.NET Core应用到Google Kubernetes Engine,包括环境设置、服务账户权限、GitLab Runner注册等关键步骤,同时揭示了多个实操中遇到的主要问题和解决方案。

之前的文章有介绍过DevOps的概念与方法(什么是DevOps?谷歌开展DevOps的SRE方法介绍!),接下来我们开始介绍实操的工具。巿面上有很多受欢迎的版本控制工具(其实 Google 也有),本文就介绍一下知名的GitLab,以及如何使用GitLab部署 Kubernetes Engine 达成CI/CD的效果,整个流程如下:

GitLab CICD deploy DotNetCore to GKE

  1. 建立GitLab Server
  2. 设定环境
  3. 建立一个Gitlab Project
  4. 使用范例 .Net Core 程序码 Commit 到GitLab
  5. 触发 CI/CD 流程来建立 Docker Image,存放在 GCR 并且部署到 GKE

本文流程较长,使用工具很多,需要您先有的知识如下:

  • 对 GCP 有初步了解,会建VM并操作SSH
  • 对GitLab和Git有初步了解,会Commit程序码
  • 对 Kubernetes 了解一点点即可

为什么要提这么多呢?因为实操过程中有很多坑,每个坑掉进去要花好几个小时才能爬出来,我尽可能把陷阱都提示了,但实在太多太琐碎所以不会 step-by-step来详细说明。

Gitlab 安装方式可以参考这篇文章:https://docs.gitlab.com/ee/install/google_cloud_platform/

建立GitLab Server

首先建立一台机器,如果只是测试不用开太大的机器:

建立VM机器

指定作业系统为 Ubuntu 18.04 LTS,Disk 大小建议最少30GB以上,下图10GB是自己当初没想到,给自己埋的雷……(你看到后面就知道了)

使用Ubuntu 18.04作为GitLab VM

查看下防火墙有没有凭证,如果没有只要开放HTTP就好:

防火墙开放HTTP(s)

等机器建好会拿到一个IP,强烈建议使用固定IP,本人不在知情的状况下使用临时IP,埋了第二个雷……

安裝GitLab

现在我们直接从GCP的SSH按钮连接去这台主机,直接看这文件安裝就对了: https://about.gitlab.com/install/#ubuntu

先装一些相依性的東西:

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata

接下來裝 postfix

sudo apt-get install -y postfix

它会引导到另一个页面,询问邮件设定的问题:

选择Internet Site

设定GitLab的postfix

这里确认主机名称,如果您是在GCP建的,它应该会自己带资料出来,按OK即可。

确认VM的主机名称

终于要开始装GitLab了。用以下指令下载 Gitlab:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

下载GitLab安装档

接下来文件上是这样写的,记得要改成你的domain或是IP位址:

sudo EXTERNAL_URL=”https://gitlab.example.com” apt-get install gitlab-ee

像我就是输入这样:

sudo EXTERNAL_URL=”http://35.185.135.182” apt-get install gitlab-ee

不用想入侵我的主机,该IP已不存在~嘿嘿~

接下来看它表演,我是说它会开始执行安装流程:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值