我想使用Gitlab管道部署到ftp服务器。我试过这段代码:
deploy: // You can name your task however you like
stage: deploy
only:
- master
deploy:
script:
- apt-get update -qq && apt-get install -y -qq lftp
但是我收到一条错误消息。做这个的最好方式是什么? :)
然后在.gitlab-ci.yml文件中添加以下代码。
variables:
HOST: "example.com"
USERNAME: "yourUserNameHere"
PASSWORD: "yourPasswordHere"
deploy:
script:
- apt-get update -qq && apt-get install -y -qq lftp
- lftp -c "set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror -Rnev ./ ./public_html --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"
only:
- master
上面的代码会将您最近修改过的Gitlab存储库中的文件推送到FTP服务器根目录下的public_html文件夹中。
只需使用您的FTP凭据更新变量HOST,USERNAME和PASSWORD,并将此文件提交到您的Gitlab存储库,您就可以了。
现在,无论何时在主分支中进行更改,Gitlab都会自动将您的更改推送到远程FTP服务器。
得到它了 :)
image: mwienk/docker-git-ftp
deploy_all:
stage: deploy
script:
- git config git-ftp.url "ftp://xx.nl:21/web/new.xxx.nl/public_html"
- git config git-ftp.password "xxx"
- git config git-ftp.user "xxxx"
- git ftp init
#- git ftp push -m "Add new content"
only:
- master
试试这个。 Gitlab中有一个CI Lint工具,可以帮助解决格式错误。 linter显示错误,即附加的deploy语句。
deploy:
stage: deploy
only:
- master
script:
- apt-get update -qq && apt-get install -y -qq lftp
我用这个
deploy:
script:
- apt-get update -qq && apt-get install -y -qq lftp
- lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -v ./ $FTP_DESTINATION --reverse --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"
environment:
name: production
only:
- master