我在gitlab repo上有一个 node.js ,我正在尝试使用CI管道将其推送到AWS EC2 Ubntu服务器。
我正在尝试在我的gitlab repo和EC2实例之间实现 CI管道,每次推送新代码时管道都会被触发,代码会自动转到EC2服务器。
我已将环境添加名称,将网址添加到yaml文件中。 (url是安装了git的AWS服务器地址)
我当前的 .gitlab-ci.yml 文件如下所示:
image: node:6.10.3
stages:
- ver
- init
- tests
- deploy
ver:
stage: ver
script:
- node --version
- whoami
init:
stage: init
script:
- npm cache clean
- rm -rf node-modules
- npm install
run_tests:
stage: tests
before_script:
- chmod 0777 ./node_modules/.bin/_mocha
script:
- npm test
deploy_staging:
stage: deploy
script:
- echo "Going to deploy to staging server"
environment:
name: staging
url: http://EC2DNS_Address.amazonaws.com/test/ci-test
only:
- master
当我提交新的更改时,我可以看到管道获取触发器,但我没有看到应用于服务器的任何更改。
如何将这些更改推送到我的ubuntu服务器? 我需要的不仅仅是环境标记吗?
答案 0 :(得分:3)
是。您还需要使用脚本标记实现实际部署。我担心没有神奇的方式会发生这种情况。
因此,要么使用SCP或SSH命令或您使用的任何内容将应用程序部署到environment
中指定的服务器。
正如Gitlab docs解释:
环境就像CI作业的标签,描述代码的位置 部署。部署是在作业部署版本时创建的 代码到环境,所以每个环境都可以有一个或多个 部署。
答案 1 :(得分:1)