gpt4 book ai didi

git - Gitlab CI-通过SSH和git pull origin development进行部署不会执行

转载 作者:行者123 更新时间:2023-12-02 14:30:24 30 4
gpt4 key购买 nike

因此,我正在使用一个自托管的GitLab实例来尝试部署Laravel应用程序。我在SSH执行程序上使用v10 + GitLab运行程序。

这是我的.gitlab-ci.yml:

stages:
- deploy

deploy_develop:
stage: deploy
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- ssh-keyscan beta.beethovenworld.com > ~/.ssh/known_hosts
script:
- ssh -t nn2@beta.beethovenworld.com "chmod 400 ~/.ssh/id_rsa && cd /var/www/html && git pull origin develop -f && composer install --no-interaction --optimize-autoloader && php artisan key:generate && php artisan optimize && php artisan config:cache && php artisan route:cache && php artisan migrate"
environment:
name: beta
url: https://beta.beethovenworld.com
only:
- develop

如您所见,我正在使用SSH来执行这些操作。让我知道是否有一种更干净的方式来编写此 .yml文件。

错误:
From gitlab.beethovenworld.com:nn2/beethovenworld
* branch develop -> FETCH_HEAD
3c3ebf7..37f47cf develop -> origin/develop
error: Your local changes to the following files would be overwritten by merge:
resources/views/layouts/composer/manage.blade.php
Please, commit your changes or stash them before you can merge.
Aborting
Updating b4422e8..37f47cf
ERROR: Job failed: exit code 1

为什么我不能进行git pull?我也将 .git文件夹上传到服务器。

如果我将 git pull origin develop替换为 git log,则工作成功,并且我可以看到最新的git更改。即使现在,您也可以看到最新的git commit。我究竟做错了什么?

最佳答案

您只需要输入stash(How to ignore error on git pull about my local changes would be overwritten by merge?)。如果您不打算覆盖这些更改,那么也请输入pop

PS。我强烈建议修改整个策略。使用Git进行部署并非总是不恰当的,但是自动化该部署样式的点就是重新考虑它。 Dockerfile,自动缩放启动配置,让您的Cron框同步来自GitLab的 Artifact 存档(或托管一个Webhook来做到这一点),这是笨拙方法的极限。

关于git - Gitlab CI-通过SSH和git pull origin development进行部署不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48794246/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com