【问题标题】:Cordova and Gitlab CICordova 和 Gitlab CI
【发布时间】:2016-05-05 10:22:32
【问题描述】:

我目前使用 GitLab 作为 Cordova 项目的主要存储库,并使用 PhoneGap Build 进行持续集成,但它们不能很好地协同工作,据我所知 GitLab 有自己的构建器。

您能否告诉我是否存在这样的功能,如果存在,我应该使用哪些功能?

【问题讨论】:

    标签: cordova continuous-integration gitlab gitlab-ci


    【解决方案1】:

    据推测,它应该可以通过一些内置方式实现。

    “只是一个快速更新,我们添加了将您的 PhoneGap Build 帐户链接到现有 BitBucket 或 GitLab 帐户的功能。这将允许您构建您的私有 BitBucket 或 GitLab 托管存储库,而无需求助于不安全的基本身份验证 (是的,人们正在这样做!)。” (http://phonegap.com/blog/2016/04/11/bitbucket-and-gitlab-repo-oauth-supported/)

    但是我找不到这个集成,我写了一个脚本来自动化从 Gitlab 的 CI、Pipelines 到 Phonegap 的部署。以下是设置的步骤:

    1. npm install -D phonegap-build
    2. 拥有一个使用 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 }
    
    1. 设置Pipelines,即 gitlab CI,以运行您的部署脚本。使用名为.gitlab-ci.yml 的文件执行此操作,并让它指定所需的作业。我在引用docs时写了我的:

      变量: GIT_DEPTH:“1” 开发: 图片:节点:最新 阶段:部署 允许失败:假 脚本: - npm 安装 - ./scripts/gitlab-ci_deploy.js

    2. git commit && git push,它会自动将项目部署到phonegap。

    【讨论】:

      【解决方案2】:

      GitLab 确实包含它自己的持续集成。这以前仅在企业版中可用,但现在也可在社区版中使用。

      信息:https://about.gitlab.com/gitlab-ci/

      GitLab CI 文档:http://doc.gitlab.com/ce/ci/README.html

      我希望这会有所帮助。

      【讨论】:

      • 谢谢@anierzad - 你知道有没有办法将它与 Cordova/PhoneGap 或 PhoneGap Build 集成?
      • 恐怕我对PhoneGap没有任何经验,只有GitLab。但是,我设法通过“mauriziopinotti”找到了这条评论,他说他正在使用 GitLab CI 和一个脚本来使用 PhoneGap Build 自动构建。 github.com/phonegap/build/issues/285#issuecomment-60508659
      • 哦,我知道他们在那里做了什么。过去没有办法集成PhoneGap Build和GitLab,他的脚本将插件压缩并上传到PhoneGap Build。从那时起,他们实际上已经添加了 GitLab 支持,但他们没有将它与 GitLab CI 集成。虽然这不完全是我想要的,但非常感谢您抽出宝贵的时间:)(不幸的是,我没有足够的声誉来支持您。)
      • 没问题,我希望它会导致您正在寻找或至少在此期间有所帮助:)。我赞成你的问题;其他人可能有更多经验可以提供帮助。
      猜你喜欢
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2020-07-29
      • 2021-12-12
      • 2020-07-03
      • 1970-01-01
      • 2020-04-02
      • 2021-03-26
      相关资源
      最近更新 更多