Uma abordagem de pensamento sistêmico para introduzir Kanban
Você está pensando introduzir o método Kanban na sua empresa ou onde …
Hoje vamos ver como automatizar o deploy de um site em Hugo no Github Pages com Circle CI, serão 2 passos o de gerar o site e o de fazer deploy.
workflows:
version: 2
build:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: master
Além definir os 2 passos colocamos filtros para que o passo de deploy aconteça somente quando fizermos commit na branch master e se o passo de build finalizar com sucesso.
Vamos configurar o Circle CI para rodar o comando hugo
para gerar o site no diretório public
usando a imagem docker cibuilds/hugo
e persista o diretório para usarmos no proximo passo.
build:
docker:
- image: cibuilds/hugo
steps:
- checkout
- run:
name: Build site
command: hugo
- persist_to_workspace:
root: ./
paths: public
Vamos configurar o Circle CI para rodar o comando gh-pages
. Vamos instalar usando a imagem docker circleci/node
e o npm
e depois configurar o git
.
deploy:
docker:
- image: circleci/node
steps:
- checkout
- attach_workspace:
at: ./
- run:
name: Install and configure dependencies
command: |
sudo npm install -g gh-pages
git config user.email "felipeweb.programador@gmail.com"
git config user.name "felipeweb"
- run:
name: deploy site
command: gh-pages --dotfiles --repo https://$GITHUB_TOKEN@github.com/felipeweb/felipeweb.dev.git --message "[skip ci] update site" --dist ./public
Vamos acessar o Circle CI e adicionar a variável.
No final temos o YAML abaixo:
version: 2
jobs:
build:
docker:
- image: cibuilds/hugo
steps:
- checkout
- run:
name: Build site
command: hugo
- persist_to_workspace:
root: ./
paths: public
deploy:
docker:
- image: circleci/node
steps:
- checkout
- attach_workspace:
at: ./
- run:
name: Install and configure dependencies
command: |
sudo npm install -g gh-pages
git config user.email "fpo@felipeweb.dev"
git config user.name "felipeweb"
- run:
name: deploy site
command: gh-pages --dotfiles --repo https://$GITHUB_TOKEN@github.com/felipeweb/felipeweb.dev.git --message "[skip ci] update site" --dist ./public
workflows:
version: 2
build:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: master
Espero que tenham gostado até a proxima!