Skip to content

[Docs] Commit and push only subdir to another branch (GitHub/CodeBerg Pages) #94

@vivi90

Description

@vivi90

I have currently a workflow with an build step and a deploy step, that works as expected:

when:
  - event: push
    branch: main

steps:
  build:
    image: node:slim
    commands:
      - corepack enable
      - pnpm install --frozen-lockfile
      - pnpm run build

  deploy:
    image: alpine/git
    secrets:
      - git_token
    environment:
      - BUILD_DIR=dist
      - TARGET_BRANCH=pages
    commands:
      # Git configuration
      - git config --global user.name "$CI_COMMIT_AUTHOR"
      - git config --global user.email "$CI_COMMIT_AUTHOR_EMAIL"
      - git clone -b $TARGET_BRANCH https://$GIT_TOKEN@codeberg.org/${CI_REPO}.git $TARGET_BRANCH
      # Copy build
      - cp -ar $BUILD_DIR/. $TARGET_BRANCH/
      - cp .domains $CI_REPO_NAME || true # Ignore if it doesn't exist
      # Commit & Push
      - cd $TARGET_BRANCH
      - git add .
      - git diff-index --quiet HEAD || git commit -m "$CI_COMMIT_MESSAGE"
      - git push

How can i achieve the same as:

...

steps:
  ...

  deploy:
    image: alpine/git
    secrets:
      - git_token
    environment:
      - BUILD_DIR=dist
      - TARGET_BRANCH=pages
    commands:
      # Git configuration
      - git config --global user.name "$CI_COMMIT_AUTHOR"
      - git config --global user.email "$CI_COMMIT_AUTHOR_EMAIL"
      - git clone -b $TARGET_BRANCH https://$GIT_TOKEN@codeberg.org/${CI_REPO}.git $TARGET_BRANCH
      # Copy build
      - cp -ar $BUILD_DIR/. $TARGET_BRANCH/
      - cp .domains $CI_REPO_NAME || true # Ignore if it doesn't exist
      # Commit & Push
      - cd $TARGET_BRANCH
      - git add .
      - git diff-index --quiet HEAD || git commit -m "$CI_COMMIT_MESSAGE"
      - git push

but with appleboy/drone-git-push?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions