deployment - gitlab ci 不更新远程服务器上的代码
问题描述
我想将 ma 测试应用程序从本地存储库部署到 gitlab 存储库,并使用 gitlab ci 将其推送到我的远程服务器。SSH 连接正常,gitlab CI 显示作业已通过,但远程服务器上的代码未更新。
我在以下位置创建了裸仓库:/home/repos/testDeploy.git
文件文件夹位于:/home/example.com/web/testDeploy
我添加了
我的 .gitlab-ci.yml 文件
stages:
- deploy
deployment:
stage: deploy
environment:
name: production
url: http://www.example.com/testDeploy
only:
- master
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- chmod 600 ~/.ssh/id_rsa_gitlab && chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- git remote add production ssh://user@server:port/home/repos/testDeploy.git
- git push -f production master
- echo "Deployed to production!"
另外,我有接收后挂钩:
#!/bin/sh
git --git-dir=/home/repos/testDeploy.git --work-tree=/home/example.com/web/testDeploy checkout -f
我在本地 repo 中进行更改,提交并将原始 master 推送到 gitlab。作业通过了,但正如我上面提到的,远程服务器上的文件没有更新。
gitlab 作业的输出是:
Fetching changes...
HEAD is now at 595db67 as
Checking out 595db67b as master...
Skipping Git submodules setup
$ which ssh-agent || ( apt-get update -y && apt-get install openssh- client -y )
/usr/bin/ssh-agent
$ eval $(ssh-agent -s)
Agent pid 40589
$ chmod 600 ~/.ssh/id_rsa_gitlab && chmod 700 ~/.ssh
$ [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
$ git branch
* (HEAD detached at 595db67)
master
production
$ git push -f production master
Everything up-to-date
$ echo "Deployed to production!"
Deployed to production!
Job succeeded
我做错了什么?你能帮我弄清楚吗?感谢您的所有回答。
解决方案
推荐阅读
- python - 如何查找不包含特定字母的单词?
- python - 如何按每行的第一个元素排序?
- javascript - owl-carousel - 如何使用每个下一个点滑动到第三张幻灯片 - .owl-dot:Active
- php - 当向函数传递的参数太少时,PHP 7 会抛出错误吗?
- angular - 为什么只显示 Angular 异步管道绑定中字符串的最后一个字符?
- python - 如何修复:通过 win32_Process.Create 通过 Python WMI 模块调用的远程 wmic 没有文件输出
- android - db.collection().document().get() 从不返回 null
- php - 向现有的 PHP 联系表单添加另一行
- sql-server - 无法将 varchar 列更改为日期类型
- java - 具有动态规划问题的桶数组