Gitea pipeline migration
All checks were successful
build and deploy portfolio / build (push) Successful in 37s
build and deploy portfolio / publish-portfolio (push) Successful in 3s
build and deploy portfolio / publish-docs (push) Successful in 4s

This commit is contained in:
darius 2025-02-24 00:24:31 +01:00
parent 80ce26fb92
commit 8b3dd8f21a
3 changed files with 38 additions and 21 deletions

View File

@ -13,13 +13,26 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build the Docker image
run: docker compose build
- name: Docker push
run: docker push docker.dariusklein.nl/portfolio
- name: Docker push
run: docker push docker.dariusklein.nl/portfolio-docs
- uses: actions/checkout@v3
- name: 'Create env file'
run: |
touch .env
echo JWT_SECRET=${{secrets.jwt_secret}} >> .env
echo POSTGRES_HOST=192.168.1.200 >> .env
echo POSTGRES_PORT=5099 >> .env
echo POSTGRES_USER=portfolio >> .env
echo POSTGRES_DB=${{secrets.database_password}} >> .env
echo POSTGRES_PASSWORD=true >> .env
echo SSL_MODE=${{ secrets.API_KEY }} >> .env
echo ENVIRONMENT=docker >> .env
- name: Build the Docker image
run: docker compose build
- name: Docker login
run: docker login gitea.kleinsense.nl -p ${{secrets.docker_password}} -u ${{secrets.docker_username}}
- name: Docker push
run: docker push gitea.kleinsense.nl/dariusklein/portfolio:latest
- name: Docker push
run: docker push gitea.kleinsense.nl/dariusklein/portfolio-docs:latest
publish-docs:
@ -33,11 +46,11 @@ jobs:
- name: Docker remove
run: docker rm darius-portfolio-docs || true
- name: Docker login
run: docker login 192.168.1.200:3000 -p ${{secrets.docker_password}} -u ${{secrets.docker_username}}
run: docker login gitea.kleinsense.nl -p ${{secrets.docker_password}} -u ${{secrets.docker_username}}
- name: Docker pull
run: docker pull 192.168.1.200:3000/dariusklein/portfolio-docs:latest
run: docker pull gitea.kleinsense.nl/dariusklein/portfolio-docs:latest
- name: Docker run
run: docker run --restart=always -dit -p 4002:80 --name darius-portfolio-docs 192.168.1.200:3000/dariusklein/portfolio-docs:latest
run: docker run --restart=always -dit -p 4002:80 --name darius-portfolio-docs gitea.kleinsense.nl/dariusklein/portfolio-docs:latest
publish-portfolio:
@ -51,8 +64,8 @@ jobs:
- name: Docker remove
run: docker rm darius-portfolio-server || true
- name: Docker login
run: docker login 192.168.1.200:3000 -p ${{secrets.docker_password}} -u ${{secrets.docker_username}}
run: docker login gitea.kleinsense.nl -p ${{secrets.docker_password}} -u ${{secrets.docker_username}}
- name: Docker pull
run: docker pull 192.168.1.200:3000/dariusklein/portfolio:latest
run: docker pull gitea.kleinsense.nl/dariusklein/portfolio:latest
- name: Docker run
run: docker run --restart=always -dit -p 4001:4001 -p 4002:4002 --name darius-portfolio-server 192.168.1.200:3000/dariusklein/portfolio:latest
run: docker run --restart=always -dit -p 4000:4000 -p 4001:4001 --name darius-portfolio-server gitea.kleinsense.nl/dariusklein/portfolio:latest

View File

@ -10,7 +10,7 @@ services:
- "4000:4000"
- "4001:4001"
restart: unless-stopped
image: docker.dariusklein.nl/portfolio:latest
image: gitea.kleinsense.nl/dariusklein/portfolio:latest
volumes:
- ./backup:/web/assets/json
@ -22,5 +22,5 @@ services:
ports:
- "4002:80"
restart: unless-stopped
image: docker.dariusklein.nl/portfolio-docs:latest
image: gitea.kleinsense.nl/dariusklein/portfolio-docs:latest

16
main.go
View File

@ -5,17 +5,21 @@ import (
"github.com/rs/cors"
"log"
"net/http"
"os"
"portfolio/api"
"portfolio/database"
"portfolio/web"
)
func main() {
println(os.Getenv("ENVIRONMENT"))
// load .env in runtime environment
err := godotenv.Load()
if err != nil {
log.Fatalf(".env not found: %v", err)
return
if os.Getenv("ENVIRONMENT") != "docker" {
err := godotenv.Load()
if err != nil {
log.Fatalf(".env not found: %v", err)
return
}
}
//connect to database and migrate
@ -25,7 +29,7 @@ func main() {
webMux := web.Routes()
// Run web server
go func() {
err = http.ListenAndServe(":4000", cors.AllowAll().Handler(webMux))
err := http.ListenAndServe(":4000", cors.AllowAll().Handler(webMux))
if err != nil {
log.Fatal(err)
@ -50,7 +54,7 @@ func main() {
apiMux := api.Routes()
//run api server
go func() {
err = http.ListenAndServe(":4001", c.Handler(apiMux))
err := http.ListenAndServe(":4001", c.Handler(apiMux))
if err != nil {
log.Fatal(err)
}