标签: continuous-integration

持续集成,使用Propel ORM将实际测试数据输入数据库的最佳实践

我使用Propel ORM复制表模式,以便进行持续集成,但Propel只让我得到一个完全充实的模式,它不会让我获得测试数据(或者根本不需要基本的必要数据).

如何从具有版本控制的propel-genPropel ORM生态系统的实时/测试数据库中获取数据?

continuous-integration phpunit propel database-schema

0
推荐指数
1
解决办法
518
查看次数

LiquiBase,Maven和Jenkins之间的关系?

我是架构迁移的新手,所以我有点迷茫:

LiquiBase:模式迁移,Maven:构建自动化,Jenkins:持续集成.我正在使用bitBucket进行源代码控制.

我可以通过命令行,Maven或Jenkins运行LiquiBase.

  1. Jenkins是否有自己的构建自动化,或者我必须使用Maven插件进行构建?如果它有自己的构建自动化,那么我可以连接Jenkins和LiquiBase而不用担心Maven.

如果Jenkins没有构建自动化2.我可以使用pom.xml中的LiquiBase Maven插件连接LiquiBase和Maven.然后使用Jenkins Maven插件或任何其他方式将其连接到Jenkins?

build-automation continuous-integration liquibase maven jenkins

0
推荐指数
1
解决办法
2475
查看次数

GitLab CI:用 git pull 代替 git clone

我在服务器上有 git 目录。Master 分支中的每次推送我都想在这个目录中执行 git pull 。我尝试使用 gitlab-ci-multi-runner 来做到这一点。我制作了shell runner,但默认情况下他会克隆存储库,然后调用我的命令。

如何在 git pull 上更改 git clone?

continuous-integration gitlab

0
推荐指数
1
解决办法
5531
查看次数

是否可以在我的 gitlab-ci 文件中使用 Gradle 配置变量?

我想知道是否可以在我的 gradle 文件的 DefaultConfig 中使用 versionName 变量:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"

defaultConfig {
    applicationId "app"
    minSdkVersion 16
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

    lintOptions {
        abortOnError false
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的 gitlab-ci 文件中:

stages:
    - build

release:
  stage: build
  only:
    - release
  script:
    - ./gradlew assembleRelease
    # Here I need to use the value of versionName in my gradle file.
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点?

continuous-integration gradle gitlab gitlab-ci

0
推荐指数
1
解决办法
1993
查看次数

Jenkins 后台的生成过程 - 不会排队的工作

我想在启动服务器的 Jenkins 上工作(WireMock 上的 MockServer)。

服务器从 *.jar 文件启动,从终端启动。

java -jar serverLaunch.jar
Run Code Online (Sandbox Code Playgroud)

它接管了我的控制台。为了避免这种情况,我修改了它并执行以下操作:

java -jar serverLaunch.jar &>/dev/null &
Run Code Online (Sandbox Code Playgroud)

这在我的本地 PC 上对我有用。现在我想把它移到詹金斯。

如果我尝试从 Jenkins Job 中的“Shell 命令”块执行此操作,则:

一种) java -jar serverLaunch.jar

  • 我的 Jenkins 中有任务锁定在队列中,我不想要那个,但服务器启动并工作。

b) java -jar serverLaunch.jar &>/dev/null &

  • 工作以成功结束,但我的服务器不存在。

我也在 .sh 脚本和 .rb 脚本中包装了这个命令。知道如何使它工作吗?


我试过这个:https : //wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build

然后在詹金斯的“Shell 脚本”中:

daemonize -E BUILD_ID=dontKillMe /bin/bash launch.sh
Run Code Online (Sandbox Code Playgroud)

但它也通过了,但服务器不活跃。

java shell continuous-integration jenkins wiremock

0
推荐指数
1
解决办法
4979
查看次数

bash 中`set -e` 的异常

我有一个用于制作我的项目的 bash 脚本。set -e当任何组件失败时,我在脚本的顶部中断执行。

其中一个命令会失败,但它失败是很自然的。我希望脚本的行为如下:

  • 运行脚本。
  • 到达并运行有问题的命令。
  • 如果失败,不要中断执行。仅针对此命令执行此操作。

bash continuous-integration

0
推荐指数
1
解决办法
603
查看次数

Travis CLI在Mac上安装失败

尝试使用安装travis cli会sudo gem install travis -v 1.8.9 --no-rdoc --no-ri生成以下错误日志:

"pkg-config --exists libffi"
package configuration for libffi is not found
"xcrun clang -o conftest -I/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin18 -I/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby/backward -I/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS conftest.c  -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib -L.     -lruby.2.3.0  -lpthread -ldl -lobjc "
In file included from conftest.c:1:
In file included from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby.h:33:
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found
#include "ruby/config.h"
        ^~~~~~~~~~~~~~~
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: …
Run Code Online (Sandbox Code Playgroud)

ruby continuous-integration travis-ci travis-ci-cli macos-mojave

0
推荐指数
1
解决办法
974
查看次数

运行命令集并返回错误代码(如果有任何失败)

在nodejs项目中,我有一个yarn lint以这种方式运行几个短接的快捷方式:

lint_1 && lint_2 && lint_3
Run Code Online (Sandbox Code Playgroud)

如果其中任何一个发现错误,则返回错误代码,因此结果yarn lint本身会返回错误代码,因此构建失败.

虽然存在一个小问题,但它可以正常工作,捕获所有错误:如果一个linter失败并显示错误代码 - 其余的linters将不会被执行.

我想要的 - 执行所有这些(所以他们都打印所有错误),然后才失败.

我知道我可以创建一个bash脚本(我将运行yarn lint),逐个运行每个linters收集返回码,然后检查是否有任何代码非零 - exit 1并且它将失败yarn lint.但我想知道有更优雅的方式吗?

bash shell scripting continuous-integration automation

0
推荐指数
1
解决办法
103
查看次数

通过 Jenkins 将 iOS .ipa 文件上传到 testflight

我可能会迟到 CI/CD 聚会,但迟到总比不到好。到目前为止,我能够在不包含 XCode 的单独 MAC 上设置 Jenkins。我将此 MAC 用作 24x7 小型服务器以进行小型操作。很多时间都浪费在存档然后上传到我的 iOS 应用程序的 testflight 上,所以我想设置一个 CI/CD 过程。

在 Jenkins 设置之后,我能够为指定的目标(发布/调试)生成 .ipa 文件。

现在我想将此 .ipa 文件上传到 Testflight。这是我已经知道的:

  1. 通过 ALTool:根据这个答案,我应该使用 AlTool。AlTool 只不过是 XCode 中的应用程序加载器。我不想在这个单独的 MAC 上安装 XCode,所以这不是我可以使用的。
  2. 通过shell脚本:如果你看到上点答案的问题,用户已经提到了一个脚本。我也试过了,但失败了。
  3. 通过深圳: 已被弃用。在 Github 页面本身,他们提到使用 Fastlane。
  4. 通过 Testflight 插件: 也已弃用。

所以基本上,我觉得 Jenkins 本身无法将 iOS 构建分发到 testflight,除非我们使用需要安装 XCode 的 ALTool。是否有一种解决方法可以完全通过詹金斯来完成?

xcode continuous-integration ios jenkins jenkins-pipeline

0
推荐指数
1
解决办法
1870
查看次数

docker build 因“COPY failed: no such file or directory”错误而失败

我正在设置 travis-ci 以在它们提交到 github 时构建和推送 docker 图像。
但是即使 api 和 nginx 图像成功,客户端 docker 图像也不会构建并推送到 docker hub。

源代码在这里:https :
//github.com/jpskgc/article

  • 客户:反应
  • api:golang
  • ci:travis-ci

这是 .travis.yml

language: generic
sudo: required
services:
  - docker

before_install:
  - docker build -t jpskgc/react-test -f ./client/Dockerfile.dev ./client

script:
  - docker run -e CI=true jpskgc/react-test npm test

after_success:
  - docker build -t jpskgc/multi-client ./client
  - docker build -t jpskgc/multi-nginx ./nginx
  - docker build -t jpskgc/multi-api ./api
  - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_ID" --password-stdin
  - docker …
Run Code Online (Sandbox Code Playgroud)

continuous-integration travis-ci docker reactjs dockerfile

0
推荐指数
1
解决办法
3794
查看次数