标签: continuous-integration

Jenkins脚本化管道或声明性管道

我正在尝试将旧式项目基础工作流转换为基于Jenkins的管道.在浏览文档时,我发现有两种不同的语法命名scripteddeclarative.比如declarative最近的Jenkins web 语法发布(2016年底).虽然有一个新的语法版本,但Jenkins仍然支持脚本语法.

现在,我不确定这两种类型中哪一种最适合.scripted语法很快就会被弃用?那么declarativeJenkins管道的未来会是什么?

任何可以分享关于这两种语法类型的想法的人.

continuous-integration jenkins jenkins-pipeline

87
推荐指数
5
解决办法
5万
查看次数

如何在Github中显示我的测试通过/失败?

我在github上有一个项目,它有大量的单元测试(使用mocha作为node.js).

我想通过在每个页面上显示通过/失败的测试来炫耀.我注意到Github上的其他项目正在这样做.

在此输入图像描述

我一直无法找到有关如何显示测试状态的任何文档.

  • 如何让Github显示单元测试输出?
  • Github是运行测试还是需要连接外部Web应用程序?
  • 是否有免费的网络服务(我的应用程序是开源)?

continuous-integration unit-testing github

86
推荐指数
4
解决办法
3万
查看次数

Jenkins CI Pipeline Scripts不允许使用方法groovy.lang.GroovyObject

我正在使用Jenkins 2来编译Java项目,我想从pom.xml中读取该版本,我遵循这个例子:

https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md

这个例子表明:

带有问题功能的全Jenkins管道盘旋

似乎访问文件系统存在一些安全问题,但我无法弄清楚它给出了什么(或为什么)这个问题:

我只是做了一个与示例有点不同的事情:

def version() {
    String path = pwd();
    def matcher = readFile("${path}/pom.xml") =~ '<version>(.+)</version>'
    return matcher ? matcher[0][1] : null
}
Run Code Online (Sandbox Code Playgroud)

我在运行'version'方法时遇到的错误:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.codehaus.groovy.runtime.GStringImpl call org.codehaus.groovy.runtime.GStringImpl)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:165)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:117)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:15)
    at WorkflowScript.run(WorkflowScript:71)
    at ___cps.transform___(Native Method)
    at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:55)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:106)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79)
    at sun.reflect.GeneratedMethodAccessor408.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:100)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79)
    at sun.reflect.GeneratedMethodAccessor408.invoke(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

continuous-integration maven jenkins jenkins-pipeline

85
推荐指数
3
解决办法
15万
查看次数

在持续集成中处理多个分支

我一直在处理在我的公司扩展CI的问题,同时试图找出在CI和多个分支机构中采取哪种方法.stackoverflow,多个功能分支和持续集成有类似的问题.我已经开始了一个新的,因为我想进一步讨论并在问题中提供一些分析.

到目前为止,我发现我可以采取两种主要方法(或者其他一些方法).

所以,如果我想为他们自己的自定义分支提供开发人员,我需要Jenkins的特殊工具(API或shellcripts或其他什么?)并处理扩展.或者我可以告诉他们更频繁地合并到DEV并且在自定义分支上没有CI.您会选择哪一个或有其他选择?

continuous-integration hudson jenkins

84
推荐指数
1
解决办法
3万
查看次数

如何将Vagrant与Jenkins结合起来,实现完美的持续集成环境?

您有一个项目需要运行一些SW要求(例如:Apache的特定版本,PHP版本,MySQL数据库实例和其他几个软件).

您已经发现了Vagrant,因此您的虚拟环境都已设置完毕.您可以从配置文件和烹饪书中创建框.

您还了解了Jenkins等持续集成系统的优势.

现在,您希望将这两个世界(Vagrant和Jenkins)结合起来,以获得完美的持续集成环境.更具体地说,您不希望在运行Jenkins的计算机上安装项目所需的SW,但是您希望使用Vagrant提供的虚拟环境来定期构建项目.CI软件(Jenkins)将为您构建Vagrant框,并在其顶部构建和测试您的项目.

您将如何设置环境来实现此目标?

continuous-integration jenkins vagrant

84
推荐指数
2
解决办法
5万
查看次数

在同一台计算机上运行多个TeamCity Agent?

我们有几台构建机器,每台机器都运行一个TeamCity构建代理.每台机器都很强大,我们想在同一台机器上运行几个构建代理.

这可能,而不使用虚拟化?是否有TeamCity的高质量替代品支持这一点?

teamcity continuous-integration build-process

83
推荐指数
2
解决办法
2万
查看次数

如何清除Jenkins/Hudson构建历史记录?

我最近更新了我的一个hudson版本的配置.构建历史记录不同步.有没有办法清除我的构建历史?

谢谢,麻烦您了

build-automation continuous-integration hudson jenkins

81
推荐指数
8
解决办法
10万
查看次数

詹金斯 - 在工作之间传递变量?

我在詹金斯有两个工作,两个都需要相同的参数.

如何使用参数运行第一个作业,以便在触发第二个作业时使用相同的参数?

continuous-integration hudson jenkins

79
推荐指数
6
解决办法
14万
查看次数

npm ci 只能安装具有现有 package-lock.json 或 npm-shrinkwrap.json 且 lockfileVersion &gt;= 1 的软件包

npm ci这是我在 GitHub Action 文件中运行命令安装依赖项时遇到的问题。

我正在开发一个博览会管理的应用程序,并用作GitHub ActionsCI 来触发构建,每当我将代码推送到developmemt分支时。

这是我的构建脚本:

name: EAS PIPELINE
on:
  push:
    branches:
      - development
  workflow_dispatch:

jobs:
  build:
    name: Install and build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

      - name: Setup Expo
        uses: expo/expo-github-action@v6
        with:
          expo-version: 4.x
          token: ${{ secrets.EXPO_TOKEN }}
          expo-cache: true

      - name: Install dependencies
        run: npm ci

      - name: Build on EAS
        run: EAS_BUILD_AUTOCOMMIT=${{1}} npx eas-cli …
Run Code Online (Sandbox Code Playgroud)

continuous-integration npm expo github-actions

79
推荐指数
7
解决办法
13万
查看次数

持续集成服务器

我的公司正在考虑改变持续集成服务器(我不会说我们现在有哪一个,所以我不会反对你的反应:))我想知道是否有人有任何建议?最佳用户体验,维护难度等......

我们的代码都在java中,我们使用ANT作为构建工具.

java continuous-integration

78
推荐指数
8
解决办法
2万
查看次数