docker + Jenkins + gitee + nuxt CICD 布署项目

  1. 启动jenkins 项目

  2. 安装插件

注意
安装完记得重启Jenkins,否则新安装的插件不会显示哦。

配置Gitee

在[Jenkins] > [系统管理] > [系统配置] > [Gitee配置] 配置 Gitee 信息:


image.png
  • 链接名:输入Gitee或随便输入你想要的名称
  • Gitee域名URL:输入Gitee完整的URL地址 https://gitee.com
  • 证书令牌:如没有添加需要新建一个,点击添加(如下图)
image.png

在gitee 生成 私人访问令牌

在设置中找到私人令牌菜单,按提示生成一个即可,然后将令牌填入jenkins 相应位置即可


image.png
  • Domain:选择全局凭据
  • 类型:选择Gitee API令牌
  • 范围:选择全局
  • Gitee APIV5 私人令牌,点击获取(opens new window)
  • ID 和 描述就随便写不一样的就行

添加完令牌就直接选择就行,然后点击【测试链接】,如果出现成功则表示配置正确:

安装NodeJS

因为我们的Vue项目是基于 NodeJS 来打包构建的,所以需要在 Jenkins 中安装插件:

image.png

配置NodeJS

在[系统管理] > [系统配置] > [全局工具配置] > [NodeJS] 点击【NodeJS安装】:

image.png

注意
NodeJS 版本不要选太高,选最新的LTS版本即可,否则可能因为版本不兼容导致构建失败,建议选择版本和本地开发的版本相同,这样就不会有问题了。

构建任务配置

在 Jenkins 首页点击【新建任务】开始第一个流水线的构建,选择构建一个自由风格的软件项目 点击保存即可创建构建项目:

image.png

新建完成后进入配置,流水线会按照 [General] > [源码管理] > [构建触发器] > [构建环境] > [构建] > [构建后操作]的步骤来执行自动化任务。

image.png

源码管理

在jenkins 容器中生成 ssh key

本项目jenkins 由docker 生成,所以进入 docker 容器 到 ~/.ssh 目录 下 通过指令 ssh-keygen -t rsa -C "email.com" -f filename_id_rsa 生成相应 的公私匙
如果有多个仓库要配置相应 的config
将容器目录 下的 id_rsa_pub 文件的内容配置到gitee中

在gitee配置SSH

image.png

按操作提示输入 内容并保存完成 配置。

添加gitee SSH KEY

image.png

按如图添加


image.png
  • 类型: SSH USERNAME with private key
  • id ,描述 随便写
  • username 填写 gitee 中的用户名
  • enter private key 将 jenkins 中生成的 id_rsa 文件内容复制到此即可

选择 Git 选项

  • Repository URL: 创建的git项目地址
  • Credentials:点击添加一个凭据(注意 Gitee API Token 凭据不可用于源码管理的凭据,只用于gitee插件的 API 调用凭据)
  • 点击【高级】 Advanced 按钮,Name输入origin,Refspec输入+refs/heads/:refs/remotes/origin/
  • 指定分支:master

gitee 配置webhooks

进入 项目仓库 , 在菜单中选择 【管理】

image.png

jenkins 推送地址 在下图中找到

image.png

生成密匙

image.png

将上面的令牌填入gitee 中


image.png

增加构建后操作实现 CICD 全流程即可

image.png

配置Jenkins 对外域名

在Jenkins的控制台中,单击“Manage Jenkins” -> “Configure System” -> “Jenkins URL”。

  1. 点击系统管理


    image.png
  1. 打开系统配置


    image.png
  2. location 修改后,就可以改变对外IP


    image.png

gitlab 配置 webhooks

  1. 管理员登录并进入到项目会有如下图的操作项


    image.png

点击左侧菜单的webhook 配置相关信息


image.png
  1. secret token 由 jenkins 配置中高级下面生成


    image.png

在jenkins 配置项目的webhook中展开会有生成secret token 的操作


image.png

点击 generate 按钮就可以生成,如果一次失败,多点几次就可以。

image.png

至此 webhooks 就配置好了


image.png

Docker 容器网络通讯

由于是通过宿主网桥进行通讯, 在容器内没有设置相应的DNS 配置的话,是无法通过 域名访问的,(没有公网域名)
需要在docker-compose.yml 中增加下面的配置

image.png

jenkins 构建 nuxt 项目配置

  1. 配置仓库(确何已经配置了SSH key)
image.png
  1. 配置 CICD 用的 webhooks
    将jenkins 下图中的 hooks URL 和secrect token 填入 gitlab webhooks 配置中的相应 位置 并添加完成配置。


    image.png

    image.png
  1. nuxt 项目要增加 node 构建环境 (需要先安装 nodejs 插件)


    image.png
  1. 添加构建步骤(写shell 脚本 )


    image.png
  1. 完成构建后增加提交代码至服务器并启动应用的指令(未完成)


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容