Jenkins CI 与 NodeJS 集成和 Github 配置构建的问题

Jenkins CI integrate with NodeJS and Github problems in configuring build

我们已经构建了我们的第一个 Nodejs 应用程序,我想集成 Jenkins 作为持续集成我们在 Nginx 后面 运行ning 节点服务器作为 Gitlab 中的代理和源代码控制。我需要示例配置或步骤。 我正在查看任何文档或 wiki link,或者如果你能指出我正确的方向,那将会很有帮助 我有 CentOS 服务器并设法安装和配置 Jenkins,但没有获得连接我的 Gitlab 服务器的正确方法。每次构建后我都需要 运行 npm 命令。如果有人已经这样做了,请告诉我。

谢谢

您的问题仍然含糊不清,但我会尝试在这里向您介绍我是如何通过 Gitlab 集成完成 Jenkins NodeJs 的。我有 CentOS 6 并经过测试。

步骤

Open Java 应该先安装。

以詹金斯身份登录

  • sudo -s -H -u 詹金斯

现在在文件夹 /var/lib/jenkins/.ssh 中生成 ssh 密钥并将该密钥复制到 gitlab

  • ssh-keygen

  • 在 jenkins 中安装 Gitlab Hook 插件和 GitLab 插件。

因为您将通过在浏览器中访问您的 jenkins 来创建项目 创建项目后转到配置(左侧菜单)项目页面 有很多选项是不言自明的 - setup Git repo url 并设置邮件 git 浏览器 url.

  • 在 jenkins 中创建一个新项目并添加 git 回购 url 和构建触发器 select 将更改推送到 GitLab 时构建。 Git实验室CI服务URL:

构建触发器
检查选项

  • 将更改推送到 GitLab

  • 时构建
  • 将 url 粘贴到您的 git 实验室存储库设置中的 webhooks 中。

这是 运行 构建后的 npm 命令

有一个 SSH Publisher 部分

在 exec 命令部分(我已经放了我的例子,你可以写你的命令)

    cd project_dir
    rm -rf public server package.json
    tar -xvf projectname.tgz 
    ls
    npm install --production
    export NODE_ENV=production 
    forever restartall
    jasmine-node spec/api/frisbyapi_spec.js 
    rm -rf projectname.tgz 

我已经编写了设置 jenkins nodejs 和 gitlab 的大部分步骤。 我可能忘记了任何步骤。如果您遇到任何错误,也请post。