Управление развертываниями CI / CD vuejs - PullRequest
0 голосов
/ 28 апреля 2020

Мне нужна помощь с развертыванием vuejs проекта с использованием CI / CD gitlab .

, в этом случае у меня есть 3 файла сред :

  1. .env.development.local
  2. .env.staging.local
  3. .env.production.local

И я здесь использую другой baseHref / publicPath :

  1. / development
  2. / stage
  3. / production

На этом этапе я следую учебному пособию Here.

, но я все еще не понимаю, каким образом я развернул с помощью другого env.

Обычно я использую команду:

  1. Staging

npm run build - --mode stage

Production

npm run build - --mode production

Вот пример env , который Я сделал:

# Environment Local

NODE_ENV=development
BASE_URL = /development/
VUE_APP_TITLE=Website (development)
VUE_APP_END_POINT='http://localhost:8000/api/v1/'
VUE_APP_CLIENT_ID = 12341
VUE_APP_CLIENT_SECRET = 'asdASD1123s'
VUE_APP_SCOPE = '*'
VUE_APP_BASE_URL_LINK = 'http://localhost:8080'
VUE_APP_VERSION =

И это файл vue .config. js, который у меня есть:

process.env.VUE_APP_VERSION = require('./package.json').version

module.exports = {
    publicPath: process.env.BASE_URL,
    "transpileDependencies": [
        "vuetify"
    ]
}

ветвь, которую я сделал:

  1. тест
  2. разработка
  3. master

В gitlab-ci.yml:

build site:
  image: node:6
  stage: build
  script:
    - npm install --progress=false
    - npm run build
  artifacts:
    expire_in: 1 week
    paths:
      - dist

unit test:
  image: node:6
  stage: test
  script:
    - npm install --progress=false
    - npm run unit

deploy:
  image: alpine
  stage: deploy
  script:
    - apk add --no-cache rsync openssh
    - mkdir -p ~/.ssh
    - echo "$SSH_PRIVATE_KEY" >> ~/.ssh/id_dsa
    - chmod 600 ~/.ssh/id_dsa
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    - rsync -rav --delete dist/ user@server.com:/var/www/website/

с Приведенная выше конфигурация gitlab-ci.yml позволяет развернуть только локальную среду.

Надеюсь, кто-то захочет поделиться своими знаниями и опытом о CI / CD deploy vuejs. Или дайте несколько CI / CD vuejs ссылок на учебник несколько окружение .

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Я нашел докер-файл в моем проекте, если он может вам помочь:

FROM node:12.16.1 AS builder
RUN mkdir /app
COPY *.json /app/
COPY src /app/src
WORKDIR /app
RUN npm install
RUN npm run build

FROM nginx:1.15.8
COPY --from=builder /app/dist/ /usr/share/nginx/html
EXPOSE 80:80
ENTRYPOINT ["nginx", "-g", "daemon off;"]

Не забудьте использовать несколько этапов docker;)

0 голосов
/ 28 апреля 2020

сколько рабочих мест ты пытаешься иметь? если вы выполняете 3 задания и отправляете параметры, это возможно.

У вас есть распечатка или пример вашей работы?

...