feat: Add auto build website with Drone #8
|
@ -0,0 +1,117 @@
|
|||
---
|
||||
# drone encrypt resilien/resilien.fr $REGISTRY_PASSWORD
|
||||
kind: secret
|
||||
name: REGISTRY_PASSWORD
|
||||
data: dYAxgJzu+Ic48OIWSFSy1fIG/Z9UUb7ErEyN+3KyI3DaVl1HKWIjdhd6HQZNcgjyKqxZh+smR7CeklVTO2cJhAfQfXIu8ENfGW1QEiFM
|
||||
|
||||
---
|
||||
# drone encrypt resilien/resilien.fr $REGISTRY_USER
|
||||
kind: secret
|
||||
name: REGISTRY_USER
|
||||
data: Y/LGloHcxShJGmqXaGvFJYLSCDbG7wWZap8oywddPdJfcw==
|
||||
|
||||
---
|
||||
# drone encrypt resilien/resilien.fr "{\"auths\":{\"https://registry.weko.io\":{\"auth\":\"$(echo -n "$REGISTRY_USER:$REGISTRY_PASSWORD" | base64)\",\"email\":\"$REGISTRY_USER\"}}}"
|
||||
kind: secret
|
||||
name: REGISTRY_CONFIG
|
||||
data: ICKt0HnBLKDrCNUH1xJnOKCwOMn/R+xMqtO8AxQ8ZorJO/J1O3hUFx3gYH6uKe3y3qa73zGPjSHnTGFv43eGBS0K8L0qQtXdLqIKTOQiIMK9CENN+w8uULCKSls01XHv7zY0bGR5FjmniXCLNYHiWHnJOi8xbAkDorhy6GwhBBpsumsZ6uzA5I0NfHTs+gplvQh6H+6Dmh03ygx39pMfE+P1F2D5VS9OiieS
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: prod
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: install submodule
|
||||
image: drone/git
|
||||
commands:
|
||||
- git submodule update --init
|
||||
kosssi marked this conversation as resolved
Outdated
|
||||
|
||||
- name: install npm
|
||||
image: node:current-alpine
|
||||
commands:
|
||||
- (cd themes/hugo-theme-lowtech && npm i)
|
||||
|
||||
- name: build website
|
||||
image: jakejarvis/hugo-extended
|
||||
commands:
|
||||
- hugo --minify --environment production
|
||||
|
||||
- name: typo
|
||||
image: node:current-alpine
|
||||
commands:
|
||||
- node themes/hugo-theme-lowtech/scripts/typo
|
||||
|
||||
- name: build and push docker image on registry
|
||||
image: plugins/docker
|
||||
kosssi marked this conversation as resolved
Outdated
killian
commented
Je n'ai pas vu l'étape où on build l'image Docker. C'est celle-ci qui le fait implicitement avant de faire le push ? Ou c'est une autre étape ? Je n'ai pas vu l'étape où on build l'image Docker. C'est celle-ci qui le fait implicitement avant de faire le push ? Ou c'est une autre étape ?
kosssi
commented
Oui c'est bien cette étape qui construit et envoi l'image Docker. J'ai changer le commentaire pour être plus explicite Oui c'est bien cette étape qui construit et envoi l'image Docker. J'ai changer le commentaire pour être plus explicite
|
||||
settings:
|
||||
username:
|
||||
from_secret: REGISTRY_USER
|
||||
password:
|
||||
from_secret: REGISTRY_PASSWORD
|
||||
repo: registry.weko.io/resilien_fr
|
||||
registry: registry.weko.io
|
||||
tags:
|
||||
- latest
|
||||
|
||||
image_pull_secrets:
|
||||
- REGISTRY_CONFIG
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- main
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: staging
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: install submodule
|
||||
image: drone/git
|
||||
commands:
|
||||
- git submodule update --init
|
||||
kosssi marked this conversation as resolved
Outdated
killian
commented
Tu peux aussi enlever la désactivation du SSL ici Tu peux aussi enlever la désactivation du SSL ici
kosssi
commented
supprimé supprimé
|
||||
|
||||
- name: install npm
|
||||
image: node:current-alpine
|
||||
commands:
|
||||
- (cd themes/hugo-theme-lowtech && npm i)
|
||||
|
||||
- name: build website
|
||||
image: jakejarvis/hugo-extended
|
||||
commands:
|
||||
- hugo --minify --buildDrafts --buildFuture --environment staging
|
||||
|
||||
- name: typo
|
||||
image: node:current-alpine
|
||||
commands:
|
||||
- node themes/hugo-theme-lowtech/scripts/typo
|
||||
|
||||
- name: push docker image on registry
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username:
|
||||
from_secret: REGISTRY_USER
|
||||
password:
|
||||
from_secret: REGISTRY_PASSWORD
|
||||
repo: registry.weko.io/resilien_fr
|
||||
registry: registry.weko.io
|
||||
tags:
|
||||
- staging
|
||||
|
||||
image_pull_secrets:
|
||||
- REGISTRY_CONFIG
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- push
|
|
@ -10,11 +10,13 @@ services:
|
|||
resilien-prod:
|
||||
container_name: resilien-prod
|
||||
build: .
|
||||
image: registry.weko.io/resilien_fr:prod
|
||||
killian
commented
Quelle est la procédure de rollback dans ce cas si le tag reste le même à chaque mise à jour ? Quelle est la procédure de rollback dans ce cas si le tag reste le même à chaque mise à jour ?
kosssi
commented
Il n'y a pas de procédure de rollaback il faut faire un nouveau commit Il n'y a pas de procédure de rollaback il faut faire un nouveau commit
killian
commented
D'accord. Comme c'est le site web, on aura probablement pas besoin de faire de rollback en urgence. On peut prendre le temps de faire un nouveau commit. D'accord. Comme c'est le site web, on aura probablement pas besoin de faire de rollback en urgence. On peut prendre le temps de faire un nouveau commit.
|
||||
restart: always
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.resilien.rule: "Host(`${URL}`)"
|
||||
traefik.http.routers.resilien.entrypoints: "web"
|
||||
com.centurylinklabs.watchtower.enable: true
|
||||
volumes:
|
||||
- resilien-log:/var/log/nginx
|
||||
- resilien-stats:/usr/share/nginx/html/stats
|
||||
|
|
|
@ -8,11 +8,13 @@ services:
|
|||
resilien-staging:
|
||||
container_name: resilien-staging
|
||||
build: .
|
||||
image: registry.weko.io/resilien_fr:staging
|
||||
restart: always
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.resilien-staging.rule: "Host(`staging.${URL}`)"
|
||||
traefik.http.routers.resilien-staging.entrypoints: "web"
|
||||
com.centurylinklabs.watchtower.enable: true
|
||||
killian
commented
Watchtower est de nouveau dans l'infra RésiLien ? Ou il a toujours été actif ? Watchtower est de nouveau dans l'infra RésiLien ? Ou il a toujours été actif ?
kosssi
commented
Watchtower a toujours été en place sur vert Watchtower a toujours été en place sur _vert_
|
||||
volumes:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
|
Pourquoi est-ce que la vérification SSL est désactivée ? A priori les certificats fonctionnent bien avec Let's Encrypt dans notre infra.
Je viens de supprimer la ligne. C'était pour une ancienne configuration.