use docker-composer in gitlab-ci

Viewed 21

Tell me please, is it possible to somehow run the script from the docker collaborator via gitlab-ci.yml

My docker-composer.yml

version: '3.8'
services:
  app:
    image: USER/test-web_app:latest
    ports:
      - "9876:80"

My gitlab-ci.yml

variables:

stages:
  - build_project
  - make_image
  - deploy_image

build_project:
  stage: build_project
  image: node:16.15.0-alpine
  services:
    - docker:20.10.14-dind
  script:
    - npm cache clean --force
    - npm install --legacy-peer-deps
    - npm run build
  artifacts:
    expire_in: 15 mins
    paths:
      - build
      - node_modules
  only:
    - main

make_image:
  stage: make_image
  image: docker:20.10.14-dind
  services:
    - docker:20.10.14-dind
  before_script:
    - docker login -u $REGISTER_USER -p $REGISTER_PASSWORD $REGISTER
  script:
    - docker build -t $REGISTER/$REGISTER_USER/$PROJECT_NAME:latest $DOCKER_FILE_LOCATION
    - docker push $REGISTER_USER/$PROJECT_NAME:latest
  after_script:
    - docker logout
  only:
    - main

deploy_image:
  stage: deploy_image
  image: alpine:latest
  services:
    - docker:20.10.14-dind
  before_script:
    - chmod og= $ID_RSA
    - apk update && apk add openssh-client
    - ssh -i $ID_RSA -o StrictHostKeyChecking=no root@$SERVER_IP \
      docker login -u $REGISTER_USER -p $REGISTER_PASSWORD $REGISTER
  script:
    - ssh -i $ID_RSA -o StrictHostKeyChecking=no root@$SERVER_IP \
      docker-compose down
   **?????????**
  after_script:
    - ssh -i $ID_RSA -o StrictHostKeyChecking=no root@$SERVER_IP docker logout
    - ssh -i $ID_RSA -o StrictHostKeyChecking=no root@$SERVER_IP exit
  only:
    - main

How can I use a docker-composer script inside gitlab-ci to run it on a remote server?

Is it possible to use several different docker-composer for different build versions?

0 Answers
Related