当我尝试通过 gitlab 执行自动部署时检索数据时出现的问题
Posted
技术标签:
【中文标题】当我尝试通过 gitlab 执行自动部署时检索数据时出现的问题【英文标题】:The problem when retrieving data when I try to perform an automatic deployment through gitlab 【发布时间】:2021-12-26 23:32:51 【问题描述】:我通过 ssh 和 gitlab 制作了一个部署脚本,但是当执行 git pull 脚本时,一切都显示为已经是最新的,我什至无法运行 composer 命令
before_script:
- apt-get update -qq
- apt-get install -qq git
# Setup SSH deploy keys
- 'which ssh-agent || ( apt-get install -qq openssh-client )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
deploy_staging:
type: deploy
environment:
name: staging
url: test.ro
script:
- ssh -p 28785 test@test "git checkout development && git pull"
- cd server
- composer i
- composer optimize
- php artisan migrate
- cd ..
- cd client
- npm i
- npm run dev
- exit
only:
- development
$ apt-get update -qq
$ apt-get install -qq git
$ which ssh-agent || ( apt-get install -qq openssh-client )
/usr/bin/ssh-agent
$ eval $(ssh-agent -s)
Agent pid 266
$ ssh-add <(echo "$SSH_PRIVATE_KEY")
Identity added: /dev/fd/63 (/dev/fd/63)
$ mkdir -p ~/.ssh
$ [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
$ ssh -p 28785
$ git pull
$ Already up to date
我不是通过 ssh 建立连接好吗?
【问题讨论】:
【参考方案1】:首先尝试将您的 ssh 步骤替换为:
ssh -p 28785 test@test "id -a && ls -alrth && pwd && git status && git remote -v"
这样,您可以确保您是:
在正确的路径中(默认为/home/test
,Git 视图的奇怪路径)
在实际的本地 Git 存储库和正确的分支中(因此是 git status
)
引用正确的远程(意味着您已推送新提交的远程存储库,应将其拉出)
【讨论】:
以上是关于当我尝试通过 gitlab 执行自动部署时检索数据时出现的问题的主要内容,如果未能解决你的问题,请参考以下文章
Redhat Ansible Tower 和 Gitlab 部署