科尔多瓦和 Gitlab CI
Cordova and Gitlab CI
我目前使用 GitLab 作为 Cordova 项目的主要存储库,并使用 PhoneGap Build 进行持续集成,但它们不能很好地协同工作,据我所知,GitLab 有自己的构建器。
能否请您告诉我是否存在这样的功能,如果存在,我应该使用哪些功能?
GitLab 确实包含它自己的持续集成。这以前仅在企业版中可用,但现在在社区版中也可用。
信息:https://about.gitlab.com/gitlab-ci/
GitLab CI 文档:http://doc.gitlab.com/ce/ci/README.html
希望对您有所帮助。
据说,它应该可以通过一些内置的方式实现。
"Just a quick update, we have added the ability to link your PhoneGap Build account to an existing BitBucket or GitLab account. This will allow you to build your private BitBucket or GitLab hosted repository without having to resort to insecure basic authentication (yes people are doing that!)." (http://phonegap.com/blog/2016/04/11/bitbucket-and-gitlab-repo-oauth-supported/)
但是我找不到这个集成,所以我写了一个脚本来自动从 Gitlab 的 CI、管道到 Phonegap 的部署。以下是设置步骤:
npm install -D phonegap-build
- 有一个使用 phonegap-build 的脚本来登录并在您存储库的 phonegap 云中构建项目。
例如下面的代码:
#!/usr/bin/env node
var phonegapbuild = require('phonegap-build')
console.log('Logging in...')
phonegapbuild.login({
username: process.env.PHONEGAP_BUILD_USERNAME,
password: process.env.PHONEGAP_BUILD_PASSWORD
}, function(e) {
console.log('logged in!')
var options = { platforms: ['android'], }
if(e) error(e)
else {
console.log('Calling `build` function...')
phonegapbuild.build(options, function(e) {
if (e) error(e)
else console.log('Success!')
})
}
})
const error = (err) => { console.error(err); process.exitCode = 1 }
设置 Pipelines
,即 gitlab CI,到 运行 你的部署脚本。使用名为 .gitlab-ci.yml
的文件执行此操作,并让它指定所需的作业。我在引用 docs:
时写了我的
变量:
GIT_DEPTH: "1"
开发人员:
图片:node:latest
阶段:部署
allow_failure: 错误
脚本:
- npm 安装
- ./scripts/gitlab-ci_deploy.js
git commit && git push
它会自动将项目部署到 phonegap。
我目前使用 GitLab 作为 Cordova 项目的主要存储库,并使用 PhoneGap Build 进行持续集成,但它们不能很好地协同工作,据我所知,GitLab 有自己的构建器。
能否请您告诉我是否存在这样的功能,如果存在,我应该使用哪些功能?
GitLab 确实包含它自己的持续集成。这以前仅在企业版中可用,但现在在社区版中也可用。
信息:https://about.gitlab.com/gitlab-ci/
GitLab CI 文档:http://doc.gitlab.com/ce/ci/README.html
希望对您有所帮助。
据说,它应该可以通过一些内置的方式实现。
"Just a quick update, we have added the ability to link your PhoneGap Build account to an existing BitBucket or GitLab account. This will allow you to build your private BitBucket or GitLab hosted repository without having to resort to insecure basic authentication (yes people are doing that!)." (http://phonegap.com/blog/2016/04/11/bitbucket-and-gitlab-repo-oauth-supported/)
但是我找不到这个集成,所以我写了一个脚本来自动从 Gitlab 的 CI、管道到 Phonegap 的部署。以下是设置步骤:
npm install -D phonegap-build
- 有一个使用 phonegap-build 的脚本来登录并在您存储库的 phonegap 云中构建项目。
例如下面的代码:
#!/usr/bin/env node
var phonegapbuild = require('phonegap-build')
console.log('Logging in...')
phonegapbuild.login({
username: process.env.PHONEGAP_BUILD_USERNAME,
password: process.env.PHONEGAP_BUILD_PASSWORD
}, function(e) {
console.log('logged in!')
var options = { platforms: ['android'], }
if(e) error(e)
else {
console.log('Calling `build` function...')
phonegapbuild.build(options, function(e) {
if (e) error(e)
else console.log('Success!')
})
}
})
const error = (err) => { console.error(err); process.exitCode = 1 }
设置
时写了我的Pipelines
,即 gitlab CI,到 运行 你的部署脚本。使用名为.gitlab-ci.yml
的文件执行此操作,并让它指定所需的作业。我在引用 docs:变量: GIT_DEPTH: "1" 开发人员: 图片:node:latest 阶段:部署 allow_failure: 错误 脚本: - npm 安装 - ./scripts/gitlab-ci_deploy.js
git commit && git push
它会自动将项目部署到 phonegap。