如何通过bitbucket管道在linux服务器上执行多个命令?

问题描述 投票:0回答:1

我正在尝试创建一个 bitbucket 管道,我需要在其中创建已部署构建的备份。

我当前的 bitbucket-pipelines.yml 文件如下所示

pipelines:
  default:
    - step:
        name: 'Deployment and Backup to Staging'
        deployment: staging
        script:
          - pipe: atlassian/ssh-run:0.8.0
            variables:
              SSH_USER: 'ubuntu'
              SERVER: $HOST
              COMMAND: 'echo $HOSTNAME;
                cd ~/workspace;
                DATE=$(date +"%y%m%d");
                BACKUP_NAME="test-bak-$DATE";
                echo "Creating backup $BACKUP_NAME";
                rm -rf test-bak-* ; # Remove existing backup directories
                cp -r portals "$BACKUP_NAME"; # Create a backup with the current date'

所以在这里我尝试创建一个当前日期变量“DATE”并使用它来命名我的备份名称“BACKUP_NAME”,然后删除任何以前的备份目录,然后将当前部署的版本复制到我的备份名称中

即将出现的问题是 BACKUP_NAME 变量作为空字符串出现,因为我的 echo 只打印“创建备份”而不是“创建备份 test-bak-310124”,而且我在我的服务器上检查了没有我的门户的副本具有备份名称的目录

有人可以帮忙吗?谢谢

linux amazon-web-services bitbucket cicd
1个回答
0
投票

也许你需要尝试不带引号的“mv”:

mv portals $BACKUP_NAME


$ ls
portals  test-bak-240131
$ DATE=$(date +"%y%m%d")
$ BACKUP_NAME="test-bak-$DATE"
$ echo $BACKUP_NAME
test-bak-240131
$ rm -rf test-bak-*/
$ ls
portals
$ mv portals $BACKUP_NAME
$ ls
test-bak-240131
© www.soinside.com 2019 - 2024. All rights reserved.