Articles of gitlab

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回购?

如何通过https使用私有GitLab存储库作为与私有令牌的npm依赖关系

我试图在我的节点js应用程序中使用私有GitLab回购作为npm依赖关系,使用私有令牌密钥,如下所示: "dependencies": { "my-module": "git+https://<privateToken>:x-oauth-basic@<myGitLabURL>/<MyUser>/my-module.git" } 当我运行npm install我得到有关git克隆fatal: unable to access <git repo path>错误fatal: unable to access <git repo path>与443连接被拒绝的答复。 我找不到很多关于如何通过https而不是通过ssh来完成的文档。 它似乎在GitHub上工作 有人在GitLab上使用Https有这方面的经验吗?

使用GitLab连续部署NodeJS

我有一个在.gitlab-ci.yml开发的API,通过.gitlab-ci.yml文件成功build立了持续集成。 如果所有的testing都通过了主分支,下一个阶段是build立到Heroku的连续部署。 有大量的教程涵盖了Ruby和Python应用程序的部署,但NodeJS上没有任何内容。 目前我的.gitlab-ci.yml文件如下所示: image: node:latest job1: script: "ls -l" test: script: "npm install;npm test" production: type: deploy script: – npm install – npm start – gem install dpl – dpl –provider=heroku –app=my-first-nodejs –api-key=XXXXXXXXXX only: – master Ruby和Python教程使用dpl工具进行部署,但是如何在部署后在服务器上启动NodeJS脚本? 添加生产部分并推送之后,testing运行并通过,但部署阶段陷入挂起状态。 控制台是空白的。 有没有人为NodeJS设置了一个成功的CD脚本?

Docker:如何使用selenium服务器做nightwatchJStesting?

我不知道如何使用我的./bundle应用程序来运行selenium服务器,它的文件位于自定义e2e:latest的./bundle文件夹中。 我想我必须将selenium服务器和webdriver chrome添加到e2e:latest的Dockerfile中e2e:latest图像,不是吗? 这是我迄今为止所做的: 我用NodeJS和nightwatchJS创build了一个基于java:8-jre的docker镜像: Dockerfile FROM java:8-jre ## Node.js setup RUN curl -sL https://deb.nodesource.com/setup_4.x | bash – RUN apt-get install -y nodejs ## Nightwatch RUN npm install -g nightwatch 这个图像然后用于testing: gitlab-ci.yml build: stage: build tags: – deploy script: – docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY – meteor npm install –production – meteor build […]

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

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