diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e978f2f..9e87074 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,42 +1,41 @@ -# # This is a basic workflow to help you get started with Actions - -# name: deploy - -# # Controls when the workflow will run -# on: -# # Triggers the workflow on push or pull request events but only for the main branch -# push: -# branches: [ main ] -# # Allows you to run this workflow manually from the Actions tab -# workflow_dispatch: - -# # A workflow run is made up of one or more jobs that can run sequentially or in parallel -# jobs: -# build-and-deploy: -# runs-on: ubuntu-latest - -# steps: -# # 检出代码 -# - name: Checkout code -# uses: actions/checkout@v3 - -# # 设置 Node.js 环境 -# - name: Set up Node.js -# uses: actions/setup-node@v3 -# with: -# node-version: '18' # 根据需要设置 Node.js 版本 - -# # 安装依赖 -# - name: Install dependencies -# run: npm install - -# # 构建应用 -# - name: Build application -# run: npm run build - -# - name: Deploy to the server. -# uses: cross-the-world/scp-pipeline@master -# with: -# host: ${{ secrets.REMOTE_HOST }} -# user: ${{ secrets.REMOTE_NAME }} -# pass: ${{ secrets.REMOTE_PASS }} +name: Build and Deploy + +on: + push: + branches: + - main # 触发 CI 的分支 + workflow_dispatch: + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' # 根据需要设置 Node.js 版本 + + - name: Install dependencies + run: npm install + + - name: Build application + run: npm run build + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - name: Build Docker image + run: docker build . -t ${{ secrets.DOCKER_HUB_USERNAME }}/base64-tool:latest + + - name: Push Docker image + run: docker push ${{ secrets.DOCKER_HUB_USERNAME }}/base64-tool:latest