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