Starting with Gitea 1.19, Gitea Actions are available as a built-in CI/CD solution.
- 註冊 Docker Hub 帳號
- 登入 Play With Docker 平台
也可以在 DigitalOcean 上建立 Droplet,並安裝 Docker.
多種安裝方式可以參考線上文件,我們選擇使用 Installation with Docker (rootless) 方式安裝。
mkdir -p gitea/{data,config}
cd gitea
touch docker-compose.yml
chown 1000:1000 config/ data/
# or chmod 777 config/ data/
打開 docker-compose.yml
檔案,輸入以下內容:
version: "2"
services:
server:
image: gitea/gitea:1.20-rootless
restart: always
volumes:
- ./data:/var/lib/gitea
- ./config:/etc/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:2222"
你可以將 3000
, 2222
替換成你想要的 port。
docker-compose up -d
請點選 3000 port 的連結就可以看到首頁了,請參考底下畫面
設定 Administrator 帳號,請參考底下畫面
按下送出後,請等待 Install 過程
從 Gitea 1.19 版本開始,Gitea Actions 就已經內建在 Gitea 服務中。請打開 config/app.ini
檔案,並增加底下設定
[actions]
ENABLED=true
請重新啟動 Gitea 服務
docker-compose restart
請點選 Site Administration
點選 Runner Tab 選單
接著透過 docker compose 來啟動 runner 服務,先建立 gitea
資料夾,並建立 docker-compose.yml
檔案
mkdir -p gitea/data
cd gitea
touch docker-compose.yml
sudo chown 1000:1000 data/
打開 docker-compose.yml
檔案,輸入以下內容:
version: "2"
services:
runner:
image: gitea/act_runner:0.2.6
restart: always
volumes:
- ./data/act_runner:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
- GITEA_INSTANCE_URL=<instance url>
- GITEA_RUNNER_REGISTRATION_TOKEN=<registration token>
請將 <instance url>
替換成你的 Gitea 服務網址,<registration token>
替換成你的 Runner Token。啟動後可以在後台看到底下畫面
由於目前 Repository 預設設定都是關閉的,故需要手動開啟。請打開 Repository,點選 Settings
,看到左邊選單 Repository,看到右邊設定內找到 Enable Repository Action
點選打勾,最後按下儲存即可。
請建立 .github/workflows
資料夾,並建立 main.yml
檔案
mkdir -p .github/workflows
打開 main.yml
檔案,輸入以下內容:
name: CI
on: [push]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: echo hello world
run: |
echo "hello world"
請將 echo hello world
替換成你想要執行的指令,例如 npm install
或 npm test
。