Manuales de desarrollo de YeboYebo
Para el despliegue automático necesitamos:
En la raiz de la carpeta de quimera-mono en
.github/workflows
Encontramos los ficheros .yml
Existira un fichero .yml por cada web de quimera con el siguiente formato:
name: Deploy_Cabrera
# Aqui indicaremos el nombre de la rama sobre la cual al hacer push se iniciara el proceso de despliegue automatico
on:
push:
branches:
- deploy_cabrera
jobs:
Docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
repository: 'yeboyebo/quimera-mono'
- uses: actions/setup-node@v3
with:
node-version: 16
# - name: Generate dist
# run: mkdir dist && mkdir apps/tienda-nativa-vbarba/dist/ && chmod 777 -R dist/ && chmod 777 -R apps/tienda-nativa-vbarba/dist/
- name: Install pnpm
run: npm install -g pnpm
- name: Install Dependecies
run: pnpm install
- name: Build
run: pnpm build tienda-nativa-vbarba
- name: Copy Configuration File
run: cp docker-compose.yml dist/
- name: Login to DockerHub Registry
run: echo $ | docker login -u $ --password-stdin
- name: Build Docker image (test)
run: docker build . --file Dockerfile --tag $/tienda-nativa-vbarba
- name: Push to Docker Hub
run: docker push $/tienda-nativa-vbarba
- name: create ENV
run: export CONTAINER_NAME=tienda-nativa-vbarba
- name: Make envfile
uses: SpicyPizza/create-envfile@v2.0
with:
envkey_LETSENCRYPT_HOST: $
envkey_LETSENCRYPT_EMAIL: $
envkey_VIRTUAL_HOST: $
envkey_SOME_API_KEY: $
envkey_SECRET_KEY: $
envkey_DOCKERHUB_USERNAME: $
envkey_DOCKERHUB_IMAGE: $/tienda-nativa-vbarba
envkey_CONTAINER_NAME: "tienda-nativa-vbarba"
file_name: .env
fail_on_empty: false
sort_keys: false
- name: copy .env file via ssh password
uses: appleboy/scp-action@v0.1.4
with:
host: $
username: $
key: $
port: $
source: ".env"
target: /home/$/tienda-nativa-vbarba
- name: copy .env file via ssh password to stacks
uses: appleboy/scp-action@v0.1.4
with:
host: $
username: $
key: $
port: $
source: ".env"
target: /home/$/tienda-nativa-vbarba/stacks
- name: Docker Remote Deployment
uses: wshihadeh/docker-deployment-action@master
with:
remote_docker_host: $@$
ssh_private_key: $
ssh_public_key: $
docker_registry_username: $
docker_registry_password: $
pull_images_first: true
deployment_mode: docker-compose
copy_stack_file: true
deploy_path: /home/$/tienda-nativa-vbarba
stack_file_name: docker-compose.yml
keep_files: 3
pre_deployment_command_args: config
args: -p tienda-nativa-vbarba --env-file /home/$/tienda-nativa-vbarba/.env up -d --build
En el fichero .yml del ciente encontramos varias variables $
Hay un secreto por cada dato sensible del cliente tendremos que declarar estos en la web de github
https://github.com/yeboyebo/quimera-mono/settings/secrets/actions
Seleccionando New repository secret
Necesitamos los siguientes datos del cliente:
Si queremos saber como ha ido el despliegue automatico podemos acudir a github
https://github.com/yeboyebo/quimera-mono/actions
Donde podremos consultar logs sobre el estado de la instalacion y comprobar que todo se haya realizado correctamente: