zoukankan      html  css  js  c++  java
  • .NET 微服务——CI/CD(1):Jenkins+Gitee自动构建 老马

    CI/CD

    持续集成/持续部署,这概念有段时间了,网上有很多八股文,我就不写了。我只说它可以替你做到什么程度:当你需要更新一个版本,只需通过git把代码提交到指定的仓库,然后就可以自动打包、构建镜像、发布、运行。在这几个步骤前后,你还可以通过shell脚本或者其他类似的方法来更好的控制每一个环节。从我角度来看,只是简单应用的话,它其实并不复杂。.net同学们,希望你们考虑在项目中用到它,至少它可以解放手动部署那部分时间。

    准备工作

    1、准备一个.NET6项目(Core也行):

    2、准备一个gitee仓库

    3、准备一台服务器(非必要,但建议)

    安装Jenkins

    首先在docker中运行这段代码(代码来自官网,端口可以自由定义):

    docker run \
      -u root \
      --rm \   这项意思是:只要停止运行就删掉这个容器,如果你不需要可以删除
      -d \
      -p 8080:8080 \
      -p 50000:50000 \
      -v jenkins-data:/var/jenkins_home \
      -v /var/run/docker.sock:/var/run/docker.sock \
      jenkinsci/blueocean

    没有提前下载镜像也没关系,因为它会自动下载。如下:

    接下来访问(如果是云服务器要放通端口访问),短暂等待后会进入这个页面:

    Jenkins首次启动会初始化系统,并且生成一个管理员账户,但是密码是输出到日志里的。你可以转到这个目录查看,或者看容器日志:

    docker logs [容器id/name]

    密码在两行星号中间:

    粘贴到刚才的页面点确认,跳入插件下载页,这里有两个选项:推荐安装、自定义安装,任选一个:

    再然后进入账户设置页面,可以跳过但不推荐,我建议设置新的:

    最后,设置地址:

    配置Gitee

    因为Jenkins默认不支持Gitee,所以要下载对应插件,按图找到插件管理,搜索Gitee并下载:

    下载成功以后,进入系统设置,会出现Gitee相关配置项,填充即可:

    需要注意这里的证书。点击添加,选择“Gitee API token”:

    这里的APIV5 token,登录gitee账户,设置→私人令牌,生成一个新的就好。

    添加好以后,选择证书并点击测试:

    看到成功字样,保存退出。

    新建工作流

    接下来,新建一个“Freestyle”任务。

    然后,在当前工作流的“源码管理”这一页,选择Git,输入你仓库的地址:

    这里会报错很正常,因为没有配置账户密码。点击新增,选择“账户密码”种类,保存退出后选中它。正常情况下就像这样,不会出红色字体:

    然后在下面设置分支,这一项决定Jenkins拉取哪个分支的代码(如果不写就是任意分支):

    往下找到“构建触发器”,选择箭头所指项(webhook url先拷贝一下):

    选中后会多出很多选项,暂时不用理会,只需要找到下面这一项,并生成一个:

    这时候登录你的Gitee,找到准备好的仓库,找到管理→webhooks→新建,选择push和激活,填入复制好的webhook url和webhook token,确认添加:

    正常情况下,测试请求是200:

    回到Jenkins后台,测试触发器是否可以正常工作。构建前工作区是空的,点击“Build Now”手动触发构建:

    再看工作区,已经把仓库代码拖下来了。并且在“构建历史”可以看到刚才的记录:

    打开VS2022,提交代码到Gitee(你也可以用命令行):

    回到Jenkins后台,构建历史中多了一条记录:

    进去查看控制台输出:

    是刚才提交的修改没错了。自动构建Get~

    下一步是根据代码中的Dockerfile自动打包镜像,我会继续发文的。

    声明:未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    本文原创发表于博客园,作者为暮城倾心。欢迎转载。Donation(扫码支持作者)↓

    微信
    支付宝
  • 相关阅读:
    页面性能优化的简单介绍
    JavaScript基础介绍
    迅雷/快车/旋风地址转换器
    关于 API 中返回字串的一些问题
    将文件夹映射为驱动器的工具
    BCB/Delphi2007 隐藏任务栏图标
    所有小工具
    oracle ora01033和ora00600错误
    批量更改文件名的批处理文件
    替代Windows运行功能的工具FastRun
  • 原文地址:https://www.cnblogs.com/muchengqingxin/p/15758874.html
Copyright © 2011-2022 走看看