Articles of gitlab ci

从Gitlab推到dokku

我想自动化我的NodeJS应用程序部署。 我正在使用Gitlab和dokku ,都在digitalOcean上。 如何做到这一点,每当我推gitlab,代码将自动推到dokku?

GitLab + GitLab CI +通过NPM从属SSH项目

目前我们使用GitLab来pipe理我们的回购和GitLab CI作为我们的CI。 我有一个项目,其中包括另一个GitLab项目作为依赖项(通过NPM)。 该项目是内部的,package.json中的URL以git+ssh://git@ ,这是我们在本地机器上使用的。 我们有SSH密钥设置。 但是,GitLab CI似乎无法使用相同的机制来安装这个依赖项目(通过npm install )。 我得到的错误是: npm install npm ERR! git clone git@my.domain.com:developers/my-repo.git Cloning into bare repository '/home/gitlab_ci_runner/.npm/_git-remotes/git-my-domain-com-developers-my-git-26043eba'… npm ERR! git clone git@my.domain.com:developers/my-repo.git npm ERR! git clone git@my.domain.com:developers/my-repo.git Host key verification failed. npm ERR! git clone git@my.domain.com:developers/my-repo.git fatal: The remote end hung up unexpectedly npm ERR! Error: Command failed: Host […]

如何使用gitlab跑步者在ec2上自动部署?

我想在gitlab上自动部署node.js项目。 目前我在.gitlab-ci.yml上使用下面的configuration deploy_to_dev_aws: only: – development script: – echo "$EC2_SSH_KEY" >> "key.pem" – chmod 600 key.pem – ssh -T -i key.pem -o StrictHostKeyChecking=no ubuntu@$EC2_HOST_IP <<EOF – cd ~/projects – rm myproject – git checkout git://myprojectpath – cd myproject – pm2 delete all – pm2 start app.js – logout – EOF stage: build 这是正确的方式,因为我login到ec2并执行所有操作? 还有什么其他方法可以做到这一点?

运行gitlab-ci.yml时,只有在合并请求发送给master时

我目前正在GitLab和Heroku中进行项目。 我想要做的是只要我要求我的function分支的合并请求(我们称之为crud-on-spaghetti ),我想自动运行在这个分支上的testing( npm test基本上,使用Mocha / Chai),以及成功之后,把这个crud-on-spaghetti和master合并,把它提交给origin/master (在GitLab上是远程的),然后在git push heroku master Heroku git push heroku master (基本上把他推到Heroku的主分店,应用程序被存储)。 我已经阅读了几篇关于GitLab CI的文章,我认为这更适合我(而不是Heroku CI,因为我没有DEV和PROD实例)。 所以,到现在为止,我手动做这个。 这是我的.gitlab-ci.yml文件( .gitlab-ci.yml没有被提交/推送): stages: – test – deploy test_for_illegal_bugs: stage: test script: – npm test deploy_to_dev: stage: deploy only: – origin master script: – git commit – git push origin master – git pull heroku […]

GitLab-CI和node.js – 如何启动本地服务器然后运行testing?

我已经设置了GitLab-CI,并正在编写我的.gitlab-ci.yml来运行我的testing。 我的应用程序是用node.js编写的,文件如下所示: before_script: – npm install – node server.js stages: – test job_name: stage: test script: – npm run test 我在启动服务器然后运行testing时遇到了麻烦,因为node server.js创build了一个永远不会存在的前台进程,除非您手动执行。 有没有办法启动服务器,然后继续,然后停止一旦testing完成? 或者我真的做错了,我的服务器应该开始在testing本身? 我所读的一切都只是说:“在另一个terminal上运行起始节点,然后在你的本地服务器上运行你的testing”,但是这在自动化的CI系统中显然没有意义。

CI使用Gitlab和Heroku

我正在使用react-starter-kit来开发我的web应用程序,并使用Gitlab作为我的远程git存储库。 我想configuration一个连续的部署,以便在每次向主服务器推送时,都会执行npm run deploy脚本。 从我的本地电脑执行npm run deploy构build节点应用程序并将其推送到远程的heroku git存储库。 它使用我的电脑本地凭据。 我已经configuration了gitlab runner(在.yml文件中)来执行相同的npm run deploy ,但是失败并显示Error: fatal: could not read Username for 'https://git.heroku.com': No such device or address 。 我需要find一种方法来validationgitlab亚军heroku。 我试图设置variablesHEROKU_API_KEY ,但它也没有工作。 我怎么能从我的gitlab亚军推到我的heroku git回购?

在gitLab CI YML中获取package.json的值

我为我的nodejs应用程序使用gitLab CI。 在我的YML文件中,我需要调用一个脚本来构build一个docker镜像。 但不是使用latest我需要使用当前版本的项目。 该版本值可以在存储库的package.json文件中find。 是否有可能读取package.json文件的版本值以取代当前版本的latest版本? # … variables: CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest # need version value instead of latest build: stage: build script: # … – cd /opt/core/bundle && docker build -t $CONTAINER_RELEASE_IMAGE . – docker push $CONTAINER_RELEASE_IMAGE

没有在gitlab ci中find纱线命令

我想configuration我的gitlab-ci使用yarn install而不是npm install 我目前的gitlab-ci.yml如下所示: image: node:6.9.4 cache: paths: – node_modules/ – .yarn before_script: – apt-get update -qq && apt-get install -qy libelf1 stages: – test test_core: stage: test script: – yarn config set cache-folder .yarn – yarn install – npm run build – npm run test tags: – 2gb 但是编译失败,错误: /bin/bash: line 48: yarn: command […]

带有node.js的GitLab CI

我没有使用GitLab CI的经验。 所以我select使用node.js( https://about.gitlab.com/gitlab-ci/#gitlab-runner )并将其安装在本地机器上。 安装成功完成后,我已经运行了gcr 。 比我inputGitLabCI-URL和我的GitLab CI注册令牌。 在此之后,我得到了十几次这个消息: gcr info [client] checking for builds… gcr http 404 https://ci.gitlab.com/api/v1/builds/register.json gcr info [client] checking for builds… gcr http 404 https://ci.gitlab.com/api/v1/builds/register.json 如果我在我的浏览器中input上面的URL,控制台会给出这个消息: 加载资源失败:服务器响应状态为405(方法不允许) 任何人都可以帮助我获得与GitLab CI和node.js连接到第一步?

使用Gitlab CI将每个构build部署到服务器

我已经为其configuration了一个项目和一个Gitlab运行器,build立了自己的Gitlab服务器。 我是新来的持续集成服务器,因此不知道如何完成以下。 每次我承诺我的项目主分支我想部署到另一台服务器的存储库,并在那里运行两个shell命令( npm install和forever restartall ) 我将如何做到这一点? 我也需要在项目部署的机器上使用跑步者吗?