Use Gitlab CI for buiding
This commit is contained in:
@@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: exec
|
|
||||||
name: Build in Hugo
|
|
||||||
steps:
|
|
||||||
- name: Build
|
|
||||||
commands:
|
|
||||||
- podman build --rm --tag homepage:latest .
|
|
||||||
- systemctl restart podman-homepage.service
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
name: Build site and deploy
|
|
||||||
|
|
||||||
on: push
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
name: Build site and deploy
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
version:
|
|
||||||
- "0.92.0"
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
- name: Install Hugo
|
|
||||||
run: |
|
|
||||||
wget https://github.com/gohugoio/hugo/releases/download/v${{ matrix.version }}/hugo_extended_${{ matrix.version }}_Linux-64bit.tar.gz
|
|
||||||
tar xaf *.tar.gz hugo
|
|
||||||
- name: Build site
|
|
||||||
run: |
|
|
||||||
set -ex
|
|
||||||
./hugo -v
|
|
||||||
./hugo -v deploy --maxDeletes -1
|
|
||||||
env:
|
|
||||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
||||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
name: Container Build
|
|
||||||
|
|
||||||
env:
|
|
||||||
# 🖊️ EDIT to change the image registry settings.
|
|
||||||
# Registries such as GHCR, Quay.io, and Docker Hub are supported.
|
|
||||||
IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }}
|
|
||||||
IMAGE_REGISTRY_USER: ${{ github.actor }}
|
|
||||||
IMAGE_REGISTRY_PASSWORD: ${{ github.token }}
|
|
||||||
|
|
||||||
on:
|
|
||||||
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
container-build:
|
|
||||||
name: Build and deploy container to registry
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Determine timestamp
|
|
||||||
id: time
|
|
||||||
uses: nanzm/get-time-action@v1.1
|
|
||||||
with:
|
|
||||||
format: 'YYYYMMDDHHmm' # Minute granularity timestamp for versioning
|
|
||||||
|
|
||||||
- name: Build from Containerfile
|
|
||||||
id: build-image
|
|
||||||
uses: redhat-actions/buildah-build@v2
|
|
||||||
with:
|
|
||||||
image: homepage
|
|
||||||
tags: ${{ steps.time.outputs.time }} latest
|
|
||||||
containerfiles: |
|
|
||||||
./Containerfile
|
|
||||||
|
|
||||||
- name: Push to registry
|
|
||||||
id: push-image
|
|
||||||
uses: redhat-actions/push-to-registry@v2
|
|
||||||
with:
|
|
||||||
image: ${{ steps.build-image.outputs.image }}
|
|
||||||
tags: ${{ steps.build-image.outputs.tags }}
|
|
||||||
registry: ${{ env.IMAGE_REGISTRY }}
|
|
||||||
username: ${{ env.IMAGE_REGISTRY_USER }}
|
|
||||||
password: ${{ env.IMAGE_REGISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
- name: Configure access to k8s
|
|
||||||
uses: azure/k8s-set-context@v2
|
|
||||||
with:
|
|
||||||
method: kubeconfig
|
|
||||||
kubeconfig: ${{ secrets.KUBECONFIG }}
|
|
||||||
|
|
||||||
- name: Update deployment to new image version
|
|
||||||
run: |
|
|
||||||
set -e -o pipefail
|
|
||||||
kubectl set image -n sites deployments/www www=${{ env.IMAGE_REGISTRY }}/${{ steps.build-image.outputs.image }}:${{ steps.time.outputs.time }}
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- deploy
|
||||||
|
|
||||||
|
build:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- nix
|
||||||
|
- podman
|
||||||
|
script:
|
||||||
|
- podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||||
|
- nix build .
|
||||||
|
- podman load -i result
|
||||||
|
- podman tag "localhost/gregs-homepage:latest" $CI_REGISTRY/greg/homepage/gregs-homepage:latest
|
||||||
|
- podman push $CI_REGISTRY/greg/homepage/gregs-homepage:latest
|
||||||
Reference in New Issue
Block a user