1
我在Gitlab CI上使用LFTP來部署一組文件。我已經很好地在我設置的一臺服務器上運行(使用SFTP的臨時服務器)。但是,在我客戶的服務器上,我似乎無法連接。服務器使用FTP進行設置,我必須使用普通/不安全模式通過Filezilla進行連接 - 它連接並工作正常(儘管我將在未來使用SFTP提供一些建議)。未知命令 - LFTP
當我嘗試通過.gitlab-ci.yml文件我得到以下錯誤做使用LFTP相同:
Unknown command `ftp.example.com'.
mirror: Not connected
ERROR: Build failed: exit code 1
我懷疑,這是因爲使用普通的FTP,但我已經試過更改主機,將ftp://
面向主機和其他一些使用set
的命令,但沒有運氣。
這裏是我的.gitlab-ci.yml文件(編輯後的版本):
stages:
- build-staging
- build-production
variables:
EXCLUDE: "--exclude '.htaccess' --exclude-glob .git* --exclude '.git/' --exclude 'wp-config.php'"
SOURCE_DIR: "./"
# STAGING
DEST_DIR: "/"
HOST_STAGING: "sftp://123.456.789"
USERNAME_STAGING: "user"
PASSWORD_STAGING: "password"
# PRODUCTION
DEST_DIR_PROD: "/"
HOST_PROD: "ftp.example.com"
USERNAME_PROD: "user"
PASSWORD_PROD: "password"
job1:
stage: build-staging
environment: staging
script:
- apt-get update -qq && apt-get install -y -qq lftp
- echo "Deploying"
- lftp -c "set ftp:ssl-allow no; set sftp:auto-confirm yes; open -u $USERNAME_STAGING,$PASSWORD_STAGING $HOST_STAGING; mirror -Rv --ignore-time --parallel=10 $EXCLUDE $SOURCE_DIR $DEST_DIR_STAGING"
only:
- staging
tags:
- 2gb
job2:
stage: build-production
environment: production
when: manual
script:
- apt-get update -qq && apt-get install -y -qq lftp
- echo "Deploying"
- lftp -c "set ftp:ssl-allow no; open -u $USERNAME_PROD,$PASSWORD_PROD $HOST_PROD; mirror -Rv --ignore-time --parallel=10 $EXCLUDE $SOURCE_DIR $DEST_DIR_PROD"
only:
- production
tags:
- 2gb
任何幫助將是巨大的,謝謝!