最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    正文概述 掘金(Jimmy)   2021-08-18   679

    Jenkins 是什么?

    Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

    本博文将讲解自动构建的部分。

    Jenkins 的安装可参考文章从零开始搭建JENKINS+GITHUB持续集成环境【多图】。

    讲解的内容包括:

    • 新建流水线

    • Jenkins 配置

    • Gitlab 配置

    直接进入主题~

    新建流水线

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    ✅ 建议:任务名称填写与仓库名称一致,一一对应方便查找任务。

    新建完成任务之后,会自动跳转到该任务的配置页面。

    Jenkins 配置

    这里的配置,去要做一下细分。

    公共配置

    系统配置

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    • Connection name 表示链接的名称,这里我填了 Gitlab ,后面要用到
    • Gitlab host URL 表示你 Gitlab 的域名链接
    • Credentials 凭证
      • 凭证的获取需点击“添加”进入
      • 具体的生成步骤 personal_access_tokens

    全局工具配置

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    • 别名这里起了 nodejs ,在后面写 Jenkinsfile 的时候会用到
    • 安装的版本当前的稳定版即可,文章发表时,NodeJS 的稳定版是 NodeJS 14.17.5

    任务配置

    如果按照正常操作,新建完成任务之后,会自动跳转到该操纵页面。当然,你还可以通过下面的操作进入:

    只需要留意下面的内容即可:

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    • General 板块
      • 描述表明这个任务是干什么的,可有可无
      • GitLab Connection 选择我们在“系统配置”中设定好的选项

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    • 构建触发器板块
      • 只要勾选 Build when a change is pushed to GitLab. GitLab webhook URL: http://localhost:8080/project/PipelineTask 即可

    ?️ 这里有两点后面需要用到(上面截图并非完整,自行体验):

    1. GitLab webhook URL
    2. Secret token (点击“高级” -> Generate 按钮生成)

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    • 流水线模块
      • 定义下拉框选择 Pipeline script from SCM ,因为我们是通过项目的 Jenkinsfile 进行构建的
      • SCM 选择 Git
      • Repository URL 填写项目的仓库地址,比如 https://gitlab.mydomain.com/apps/pipeline_task.git
      • Credentials 是凭证,你 GitLab 的账号密码

    Gitlab 配置

    Gitlab 上做一个关联,与 Jenkins 关联上,当仓库 push 操作的时候,Jenkins 上自动构建项目。

    ?️ PS:当然 push 操作只是其中一种情况,还可以打标签之类的

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    • URL 对应上面 Jenkins 触发器上设定的 GitLab webhook URL
    • Secret Token 对应上面 Jenkins 触发器上生成的 Secret token

    添加了 Webhook 之后可以进行测试,查看是否通了。

    Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    如果测试通过,会出现 Hook executed successfully: HTTP 200 的提示。

    在触发构建之前,我们在对应仓库根目录下写个简单的脚本 Jenkinsfile

    pipeline {
        agent any
        
        tools { 
            nodejs "nodejs" 
        }
        
        stages {
            stage('Dependency') {
                steps {
                    sh 'npm install'
                }
            }
            stage('Build') { 
                steps {
                    sh 'npm run clean' 
                    sh 'npm run build' 
                }
            }
        }
    }
    

    在项目每次进行 push 的时候,就会自动构建,构建的步骤按照 Jenkinsfile 设定的走。

    【完】


    下载网 » Jenkins Pipeline 结合 Gitlab 实现 Node 项目自动构建

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元