当前位置: 首页 > 面试题库 >

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

郭弘盛
2023-03-14
问题内容

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

谢谢


问题答案:

您的问题仍然很模糊,但是我将在这里尝试为您提供如何通过Gitlab集成来完成Jenkins NodeJ。我有CentOS 6并经过测试。

应该先安装Open Java。

  • 须藤wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo

  • sudo rpm-导入https://jenkins-ci.org/redhat/jenkins-ci.org.key

  • 须藤百胜安装詹金斯

  • sudo服务詹金斯开始

以詹金斯身份登录

  • 须藤-s -H -u jenkins

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

  • ssh-keygen

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

正如您将通过在浏览器中访问jenkins来创建项目一样,在创建项目后,请转到配置(左侧菜单)项目页面。有很多选项可以自我说明-
设置Git存储库URL和设置邮件git浏览器URL。

  • 在jenkins中创建一个新项目并添加git repo url,并在构建触发器中将更改推送到GitLab时选择Build。GitLab CI服务网址:

构建触发器
检查选项

  • 将更改推送到GitLab时进行构建

  • 将该网址粘贴到gitlab存储库的webhooks中的设置中。

这是在构建后运行npm命令

SSH发布者一节

在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的步骤。我可能忘记了任何步骤。如果您遇到任何错误,也请张贴。



 类似资料:
  • GitBook.com 为每本书籍都创建了一个 Git 项目,并且使用这个 Git 项目来管理书籍源码(注意:这里的源码是指所有用户提交的内容)。正如在 编辑书籍 中介绍的那样,我们可以通过向书籍的 Git 项目提交内容来更新书籍。 另外,GitBook.com 还可以集成 GitHub,所以用户可以将书籍的源码通过 GitHub 上的项目来管理,这样可以使用 GitHub 带来的各种优点,例如:

  • sonar.projectkey=projkey sonar.projectname=projname Sonar.ProjectVersion=1.0 sonar.sources={path} sonar.java.binaries={path} Sonar.ProjectBaseDir={path}

  • 通过和注释,我得到以下错误: 然后添加以下配置: 错误消失了。但是,我想我应该能够按照文档中的建议,使用属性自动配置它。 null

  • GitHub 是最大的 Git 版本库托管商,是成千上万的开发者和项目能够合作进行的中心。 大部分 Git 版本库都托管在 GitHub,很多开源项目使用 GitHub 实现 Git 托管、问题追踪、代码审查以及其它事情。 所以,尽管这不是 Git 开源项目的直接部分,但如果想要专业地使用 Git,你将不可避免地与 GitHub 打交道,所以这依然是一个绝好的学习机会。 本章将讨论如何高效地使用

  • 我正在尝试将jQAssistant集成到我现有的Maven构建中。我有一个POM层次结构,但基本上顶层POM定义了构建的功能。这就是我的<代码> 因此,我希望在构建期间扫描所有类,并将结果聚合到正在运行的服务器中,以便在构建所有Maven模块之后拥有一个完全填充的Neo4J数据库。数据库应该包含我的整个代码库。 分析和检查将是另一个步骤,我不想在构建Maven模块时直接这样做。 我看到的示例都是构

  • 我只是在学习Ruby和Rails,并且在Windows上使用RubyMine作为我的IDE。GitHub刚刚发布了面向Windows的GitHub。我安装了它,它看起来像一个不错的界面。但是,它似乎并没有安装像Git.exe这样的东西,供RubyMine使用。所以RubyMine抱怨找不到git,而git(以GitHub for Windows的形式)却坐在那里无忧无虑地无视RubyMine。 当