CircleCI сообщает об успешном выполнении mkdir, но не может найти каталог - PullRequest
0 голосов
/ 23 сентября 2019

Новый пользователь CircleCI здесь.Я изо всех сил пытался выполнить команду mkdir.Или, точнее, найти результаты выполнения команды.

Шаг успешно завершен в моем рабочем процессе, но папка, кажется, фактически не существует.Я не могу найти его где-нибудь в файловой системе.

Вот мой файл config.yml:

# PHP CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-php/ for more details
#
version: 2
jobs:
  build:
    branches:
      only:
        - staging
    working_directory: ~/build
    docker:
      - image: circleci/php:7.2-node-browsers

    steps:
      - checkout

      - run: 
          name: APT Installs (ZIP, PDO, MySQL, Composer)
          command: |        
            sudo docker-php-ext-install zip
            sudo docker-php-ext-install pdo pdo_mysql
            sudo apt-get install software-properties-common
            sudo composer self-update

      - run: 
          name: Install Python and PIP
          command: |
            sudo apt-get install -y python3.7
            sudo apt install -y python3-pip
            sudo pip3 install --upgrade pip
            sudo pip3 install --upgrade awscli
            sudo pip3 install --upgrade awsebcli

      - run:
          name: Create Image Directory (if not exists)
          command: |            
            sudo mkdir -m 0755 -p /var/user_image
            ls -l /var/user_image

      - run:
          name: Setup AWS credentials
          command: |
            mkdir ~/.aws && printf "[profile eb-cli]\naws_access_key_id = $REDACTED\naws_secret_access_key = $REDACTED" > ~/.aws/config

      - deploy:
          name: Deploy to Elastic Beanstalk
          command: |
            eb deploy PixapadTest-env

      # Download and cache dependencies
      - restore_cache:
          keys:
            # "composer.lock" can be used if it is committed to the repo
            - v1-dependencies-{{ checksum "composer.json" }}
            # fallback to using the latest cache if no exact match is found
            - v1-dependencies-      

      - restore_cache:
          keys:
            - node-v1-{{ checksum "package.json" }}
            - node-v1-

      - run: 
          name: Install app dependencies
          command: |       
            composer install -n --prefer-dist

      - save_cache:
          key: v1-dependencies-{{ checksum "composer.json" }}
          paths:
            - ./vendor

      - run:
          name: Database Setup
          command: |
            vendor/bin/phinx migrate -e staging

Вот скриншот из последнего успешного рабочего процесса:

enter image description here

Где я ошибаюсь?

РЕДАКТИРОВАТЬ # 1: По предложению пользователя CircleCI я добавил ls -l /var/user_image к моему config.yml чуть ниже sudo mkdir -m 0755 -p /var/user_image.Шаг рабочего процесса выводит следующее:

enter image description here

Нет ошибок, но я все еще не могу найти каталог.Я подозреваю, что в данный момент он удаляется процессом ... Я просто не уверен, почему.

РЕДАКТИРОВАТЬ # 2: Обновлено с полным config.yml.

1 Ответ

0 голосов
/ 24 сентября 2019

В конце концов, я чрезмерно усложнил процесс и , неправильно поняв процесс.

Моя цель состояла в том, чтобы создать каталог на сервере приложений, который размещался в Elastic Beanstalk.Хотя я хотел создать каталог на сервере, команды, которые я использовал в моем файле config.yml, создавали каталог в контейнере.CircleCI вела себя отлично.Я не сделал!

Вместо этого мне просто нужно было добавить команду в файл конфигурации, расположенный в моей исходной папке .ebextensions.

Вот полный файл конфигурации из папки .ebextensions, длякто-нибудь еще, кто сталкивается с этим.

files:
    "/root/.ssh/config":
        owner: root
        group: root
        mode: "000600"
        content: |
            Host github.com
                User git
                Hostname github.com
                IdentityFile /root/.ssh/battlestardigitalbot-github-deploy
    "/root/.ssh/known_hosts":
        owner: root
        group: root
        mode: "000644"
        content: |
            [REDACTED]


commands:
    01-command:
        command: sudo aws s3 cp s3://battlestar-deployment-key/battlestardigitalbot-github-deploy /root/.ssh
    02-command:
        command: sudo chmod 600 /root/.ssh/battlestardigitalbot-github-deploy
    03-command:
        command: sudo mkdir -m 0755 -p /var/user_image

Особая благодарность FelicianoTech , чьи терпеливые вопросы в конечном счете пробили некоторый смысл в моем noggin!

...