Можете ли вы изменить файлы из master и передать их в другую ветку с помощью действий GitHub? - PullRequest
0 голосов
/ 18 февраля 2020

Можно ли создать действие GitHub, которое бы (на pu sh освоить) просматривало файлы и модифицировало (находило и заменяло) содержимое, соответствующее шаблону, а затем фиксировало и pu sh эти изменения в другую ветку? Например, предположим, что я работаю над простым веб-сайтом stati c локально, и я ссылаюсь на такие файлы:

In HTML files:
<script src="/js/main.js"></script>
---------------------------------------------
In CSS files:
background-image: url("/img/background.jpg");

И когда я перехожу на master, я также хотел бы автоматически ветвь pu sh to gh-pages и развертывание на GitHub Pages. Однако мне нужно изменить содержимое файлов перед нажатием gh-pages, чтобы они правильно работали на страницах. Это означает, что замените src="/ на src=" в. html файлах и url("/ на url("../ в. css файлах.

Я просматривал рынок GitHub Actions и везде, где вы могли подумать из, но не смог найти примеры / учебные пособия или шаблоны действий, которые бы это делали.

Возможно ли это с помощью действий GitHub и, если да, не могли бы вы добавить какой-нибудь короткий пример?

1 Ответ

0 голосов
/ 19 февраля 2020

Неважно, разобрался. Вот мое решение для всех, кто заинтересован:

name: Change paths and deploy

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Change paths
      run: |
        sed -i 's;="/;=";g' index.html
        cd css
        sed -i 's;url("/;url("../;g' style.css
    - name: Commit
      run: |
        git config --local user.email "matronator@github.com"
        git config --local user.name "matronator"
        git commit -m "Add changes" -a
    - name: Push changes to gh-pages
      uses: ad-m/github-push-action@master
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        branch: gh-pages
...