Рубрики
Uncategorized

Github Действия Powered Blog и Online CV

Мой вклад в Github Действия Хакатона на Dev Этот проект построен на четырех мощных технологиях … Помечено с Actionhackathon, Jekyll, Pandoc, DevOps.

Мой вклад в Github Действия Хакатон на dev

Этот проект построен на четырех мощных технологиях:

  • Jekyll — используется в качестве статического генератора сайта
  • Pandoc — используется в качестве инструмента рендеринга (Markdown> HTML) для CV
  • Страницы GitHub — используются в качестве хостинга
  • Действия GitHub — используется для автоматизации сборки и развертывания

Мой рабочий процесс

Есть две рабочие процессы: один для блога (веб-сайт) и один для CV (CV). Они оба используют следующие действия GitTub:

В обоих рабочих процессах задание сборки выполняется в контейнере, который отличается от рабочего процесса: Ruby для блога и Pandoc для CV.

Вот как работа постройки выглядит как для блога:

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: ruby:2.6.4
      options: 
        --workdir /src 
    steps:
      - name: Checkout
        uses: actions/checkout@v2 

      - name: Build blog
        run: |
          bundle install
          bundle exec jekyll build --verbose --destination _site

      - name: Upload artifacts
        uses: actions/upload-artifact@v2
        with: 
          name: _site
          path: _site

Как видите, я запускаю шаги в контейнере Ruby. Это упрощает вещи, связанные с разрешениями файла и монтажа каталога, поскольку оформление заказа изготовлено внутри контейнера.

Шаг развертывания выполняется через команду запуска оболочки на данный момент, для лучшей чистоты (можно заменить на стороннее действие или на заказ): это делает коммит для Gh-Pages ветвь, которая настроен для страниц GitHub.

  deploy:
    if: github.ref == 'refs/heads/master'
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout gh-pages branch
        uses: actions/checkout@v2
        with:
          ref: 'gh-pages'

      - name: Get the build artifact
        uses: actions/download-artifact@v2
        with:
          name: _site
          path: ./

      - name: Deploy (push) to gh-pages
        run: |
          git config user.name "$GITHUB_ACTOR"
          git config user.email "${GITHUB_ACTOR}@bots.github.com"
          git add -A 
          git commit -a -m "Updated Website"
          git remote set-url origin "https://x-access-token:${{ secrets.DEPLOY_TOKEN }}@github.com/vasylenko/serhii.vasylenko.info.git"
          git push --force-with-lease origin gh-pages

Категория подачи:

DIY развертывание

YAML-файл или ссылка на код

Вот ссылка на репозиторий с рабочими процессами ( Смотрите/.github/workflows directory)

Василенко/Серхii.vasylenko.info.

Исходный код моего личного сайта, питающийся от Hugo

Персональный блог, работающий от Hugo

💰 Ноль-затрат (Но это все еще требует вашего времени, хотя) Хостинг и CI/CD с GitHub и Free CloudFlare CDN для быстрого доставки контента и лучшее сжатие.

👨💻 Статический генератор сайта — Hugo

📝 Тема блога: Пасмод используется в качестве подмодуля GIT

⚙️ CI/CD: Github Действия (см. мой рабочий процесс Например)

🌎 Бесплатный аккаунт в CloudFlare для CDN.

Настройка темы Hugo и Papermod:

Отчеты о производительности

Маяк

Gtmetrix.

Дополнительные ресурсы/информация

https://jekyllrb.com https://pandoc.org

Оригинал: «https://dev.to/svasylenko/githubactions-powered-blog-and-online-cv-4kk8»