Githubを使ったアクション1編

8910 ワード

Githubアクションを使ってみる


教科書を復習する.


  • Githubアクションを使用してChroller Webページを作成する



  • リンク:https://www.inflearn.com/course/github-action-%ED%81%AC%EB%A1%A4%EB%9F%AC/dashboard
  • インポート

  • 開発は最終的に、開発者でエンコードされた場合、結果はプログラムであるか、Webページであり、どのような形式でも他の人に使用されます.
  • 、特にインターネット開発者の場合、フロントであれバックグラウンドであれ、ハングルを作った世宗(セジョン)大王がハングルを「発布」したように、どこかに配布される.
  • の導入フェーズで使用されるツールは、今日の主役Github Actionです.これは、開発者が会社のソースコードを簡単に自動化できる自動化ツールです.
  • 理論や正確な要約よりも、
  • をどのように中心に書きますか.

    実験1-ベストIT書籍リストをスクロール


  • 傘下でレポを作る.
  • Action-workflowをクリックして
  • を作成

  • test.pyコード
  • import requests ## 요청 라이브러리
    from bs4 import BeautifulSoup #파싱 라이브러리
    
    url = 'https://ridibooks.com/category/new-releases/2200'
    response = requests.get(url)
    response.encoding = 'utf-8'
    html = response.text
    
    soup = BeautifulSoup(html, 'html.parser') # html 파서 씀
    
    bookservices = soup.select('.title_text') # 클래스 짚어내기
    for no, book in enumerate(bookservices, 1):
        print(no, book.text.strip())
    
  • ymlファイル
  • 
    name: helloGithubAction
     
    on: [push]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v2
        - name: 1) 파일 목록 출력
          run: ls -al
        - name: 2) 파이썬 패키지 확인
          run: pip list
        - name: 3) pip 업그레이드
          run: python -m pip install --upgrade pip
        - name: 4) 런타임에 필요한 모듈 설치
          run: pip install -r requirements.txt
        - name: 4) 파이썬 코드 실행
          run: python test.py

    練習2-タスクスケジュールの追加


  • Linuxのタスクスケジューリングクローンタブ機能の使用

  • Linuxタスクスケジューラcron
  • cronは、周期的な重複タスクを自動的に実行できるユーティリティです.crontabファイルなどを検索すると、多くの情報が表示されます.ここで簡単に説明します.
  • githubはcrontabにフォームに基づいてタスクを繰り返し実行する機能を提供し、ダウン刺激動作は5分おきにcronラベルをスケジューリングすることを可能にする.
  • クローンタブの詳細:https://crontab.guru/
  • ページでクローン・ラベルを作成して使用します.すべての構文を理解する必要はありません.

  • 5分ごとに実行されるcronタブコマンド
    //5분마다 해당하는 명령어를 실행합니다.
    */5 * * * * /test/crawling.py

  • 複数時間の特定と実行
    //매일 오전 930분, 오후 930분에 해당하는 명령어를 실행합니다.
    30 9,21 * * * /test/crawling.py
    
    //매일 매시간 10분, 20분 마다 해당하는 명렁어를 실행합니다.
    10,20 * * * * /test/crawling.py

  • 実行範囲
    //매일 오전 9시에 해당하는 명령어를 실행합니다. (0 - 일요일, 6 - 토요일)
    0 9 * * 0-6 /test/crawling.py
    //월~금 오전 9시에 해당하는 명령어를 실행합니다. (1 - 월요일, 5 - 금요일)
    0 9 * * 1-5 /test/crawling.py
    //매일 100분부터 30분까지 해당하는 명령어를 실행합니다.
    0-30 10 * * * /test/crawling.py
  • main.ymlファイルを以下のように変更すると、指定された操作(スクロール)
  • が10分ごとに実行される.
    name: helloGithubAction
    
    on:
    	schedule:
        - cron: '*/10 * * * *'
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          <동일하게 유지, 생략함>

    注意事項

  • ワークフロー数制限:repoごとに最大20個のワークフローを登録できます.
  • 時間制限:作業ステップごとに最大6時間使用できます.
  • 制限
  • 回:repo全体で1時間に最大1000回(ジョブ)実行します.
  • レートポリシー:公開ストレージは無料で、非公開ストレージは500 MBで、2000分以上有料です.
  • 以外
  • UTCタイムゾーンを使用します.
  • スケジューラの遅延時間が長く、Googleでgithub actions cron delayを検索すると、他のrepoも同じなので、試食のみにおすすめです.
  • この文章は済州コード大本営の協賛で書かれたものだ。