GitHub ได้เปิดตัวการกระทำของ GitHub ที่อนุญาตให้คุณตั้งค่าการรวมอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่องโดยใช้ไฟล์กำหนดค่าใน GitHub repo ของคุณ

การสอนการกระทำของ GitHub

ภาพรวม

หนึ่งในวิธีที่ดีที่สุดในการเพิ่มผลผลิตในโครงการซอฟต์แวร์คือการทำสิ่งใดก็ตามด้วยตนเองหรือซ้ำ ๆ และคุณอาจประหลาดใจที่การใช้งานระบบอัตโนมัติง่าย ๆ คือการใช้งานเมื่อคุณใช้เครื่องมือที่ยอดเยี่ยมเช่น การกระทำของ GitHub ตั้งแต่บทความสองสามข้อสุดท้ายฉันได้เขียนเกี่ยวกับ GIT, การควบคุมเวอร์ชัน และ การทำงานอัตโนมัติของเวิร์กโฟลว์การพัฒนาซอฟต์แวร์ และเกี่ยวกับ การรวมอย่างต่อเนื่องและการจัดส่งอย่างต่อเนื่อง. ดังนั้นหวังว่าตอนนี้คุณจะตระหนักดีถึงที่เก็บและวิธีการใช้งาน ในการสอนการกระทำ GitHub ของวันนี้ เราจะสำรวจการกระทำของ GitHub และวิธีที่คุณสามารถใช้สำหรับแอปพลิเคชันอัตโนมัติการปรับแต่งและเพื่อดำเนินการเวิร์กโฟลว์การพัฒนาซอฟต์แวร์ของคุณในพื้นที่เก็บข้อมูลของคุณ ดังนั้นมาเริ่มกันเถอะ

เวิร์กโฟลว์ CI/CD

CI/CD เป็นวิธีการปรับใช้โครงการพัฒนาซอฟต์แวร์ของคุณบ่อยครั้งไปยังผู้ใช้ปลายทางในขั้นตอนต่าง ๆ ด้วยความช่วยเหลือของระบบอัตโนมัติ การบูรณาการอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่อง เป็นปรัชญามากกว่าและเป็นหนึ่งในแนวทางปฏิบัติที่ดีที่สุดสำหรับทีม DevOps ที่จะนำไปใช้เพื่อส่งมอบการเปลี่ยนแปลงรหัสบ่อยครั้งและน่าเชื่อถือมากขึ้น การรวมอย่างต่อเนื่อง เป็นชุดของการปฏิบัติที่กระตุ้นให้ทีมพัฒนาตรวจสอบรหัสในการควบคุมเวอร์ชันที่เก็บข้อมูลบ่อยครั้ง และสำหรับการกดไปยังที่เก็บทุกครั้งคุณสามารถสร้างชุดสคริปต์เพื่อสร้างและทดสอบแอปพลิเคชันของคุณโดยอัตโนมัติ สคริปต์เหล่านี้ช่วยลดโอกาสที่คุณแนะนำข้อผิดพลาดในแอปพลิเคชันของคุณ การปรับใช้อย่างต่อเนื่อง เป็นขั้นตอนข้างหน้าในเวิร์กโฟลว์ CI/CD ของคุณ ไม่เพียง แต่สร้างและทดสอบแอปพลิเคชันของคุณทุกครั้งที่มีการส่งรหัสเปลี่ยนไปยัง Codebase แต่แอปพลิเคชันจะถูกปรับใช้อย่างต่อเนื่องกับเซิร์ฟเวอร์ของคุณ

การกระทำของ GitHub คืออะไร

ในส่วนของการสอนการกระทำของ GitHub นี้เราจะรู้ว่าการกระทำของ GitHub คืออะไร อย่างไรก็ตามการกระทำของ GitHub เป็น API สำหรับสาเหตุและผลกระทบต่อ GitHub ทำให้ง่ายต่อการทำให้เวิร์กโฟลว์ซอฟต์แวร์ทั้งหมดของคุณเป็นไปโดยอัตโนมัติตอนนี้ด้วย CI/CD คุณสามารถออกแบบเวิร์กโฟลว์ใด ๆ ตามเหตุการณ์ใด ๆ เช่น (ผลักไปยังสาขา, คำขอดึง ฯลฯ ) ในขณะที่ GitHub จัดการการดำเนินการ อย่างไรก็ตามคุณไม่จำเป็นต้องเขียนการกระทำด้วยตัวเอง GitHub มีตลาด inbuilt ที่ผู้คนสามารถค้นหาการกระทำที่สร้างขึ้นโดยคนอื่นและนำกลับมาใช้ใหม่หากเหมาะสมกับความต้องการของพวกเขา การกระทำของ GitHub รองรับ Node.js, Python, Java, Ruby, PHP, Go, Rust, .NET และอื่น ๆ สร้างทดสอบและปรับใช้แอปพลิเคชันในภาษาที่คุณเลือก

Yaml ไวยากรณ์

ก่อนอื่นมาทำความคุ้นเคยกับไวยากรณ์และคำศัพท์ของการกระทำ gitHub

  • เวิร์กโฟลว์: เนื่องจากการดำเนินการของ GitHub ให้สิ่งอำนวยความสะดวกในการสร้างความสามารถในการสร้างแบบ end-to-endความสามารถอย่างต่อเนื่องและความสามารถอย่างต่อเนื่อง ความสามารถของคำนี้หมายถึงจุดนั้นเมื่อโฟลว์เริ่มดำเนินการโดยเครื่องมือ CI
  • งาน : คำนี้หมายถึงงานทั้งหมดในเวิร์กโฟลว์เดียว เวิร์กโฟลว์มีงานมากกว่าหนึ่งงานและเป็นสิ่งจำเป็นสำหรับพวกเขาทุกคนในการดำเนินการเพื่อป้องกันความล้มเหลว
  • ขั้นตอน: สำหรับงานที่จะดำเนินการให้เสร็จสมบูรณ์จะต้องทำตามขั้นตอนทั้งหมดที่ฝังอยู่ในนั้น
  • การกระทำ: การกระทำเป็นชุดย่อยหลักของขั้นตอนและชุดย่อยที่เล็กที่สุดของเวิร์กโฟลว์ ทุกขั้นตอนประกอบด้วยการกระทำหลายอย่างที่ต้องดำเนินการสำเร็จ อย่างที่คุณเห็นเวิร์กโฟลว์งานขั้นตอนและการกระทำนั้นพึ่งพาซึ่งกันและกันและการดำเนินการที่ประสบความสำเร็จทุกอย่างเป็นสิ่งจำเป็นสำหรับการสำเร็จการศึกษาท่อส่ง CI/CD

สร้างเวิร์กโฟลว์

ในโครงการพัฒนาซอฟต์แวร์หนึ่งในปัญหาการพัฒนาปัญหาคือรูปแบบของซอร์สโค้ดและการบังคับใช้แนวทางปฏิบัติที่ดีที่สุด ปัญหานี้ชัดเจนมากขึ้นสำหรับทีมที่ใหญ่กว่า เนื่องจากพวกเขาเกี่ยวข้องกับนักพัฒนามากขึ้นและทุกคนมีรูปแบบการเขียนของตัวเอง ดังนั้นการใช้แพ็คเกจ linter จึงเป็นเรื่องธรรมดามากในทีม แต่ตอนนี้ด้วยการกระทำ gitHub คุณสามารถบังคับใช้ linter ทุกครั้งที่มีคนผลักรหัสไปยัง GitHub repo ในบทช่วยสอนการกระทำของ GitHub นี้คุณจะเพิ่มเวิร์กโฟลว์ที่ตัดภาษาหลายภาษาโดยใช้การกระทำ GitHub Super-Linter เวิร์กโฟลว์ใช้ Super-Linter เพื่อตรวจสอบซอร์สโค้ดของคุณทุกครั้งที่มีการส่งคอมมิชชั่นใหม่ไปยังที่เก็บของคุณ จากที่เก็บของคุณใน GitHub สร้างไฟล์ใหม่ใน . gitHub/เวิร์กโฟลว์ชื่อsuperlinter.yml และคัดลอกเนื้อหาต่อไปนี้ลงในนั้น

name: Super-Linter

# Run this workflow every time a new commit pushed to your repository
on: push

jobs:
  # Set the job key. The key is displayed as the job name
  # when a job name is not provided
  super-lint:
    # Name the Job
    name: Lint code base
    # Set the type of machine to run on
    runs-on: ubuntu-latest

    steps:
      # Checks out a copy of your repository on the ubuntu-latest machine
      - name: Checkout code
        uses: actions/checkout@v2

      # Runs the Super-Linter action
      - name: Run Super-Linter
        uses: github/super-linter@v3
        env:
          DEFAULT_BRANCH: main
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

ในการเรียกใช้เวิร์กโฟลว์ของคุณให้กระทำและผลักดันการเปลี่ยนแปลงไปยังที่เก็บ GitHub ของคุณ เหตุการณ์พุชนี้จะทริกเกอร์เวิร์กโฟลว์ SuperLinter และตอนนี้คุณสามารถดูผลลัพธ์ของเวิร์กโฟลว์ได้โดยไปที่แท็บของแอ็คชั่น

การสอนการกระทำของ GitHub

ในแถบด้านข้างซ้ายคลิกเวิร์กโฟลว์ที่คุณต้องการดู

GitHub การกระทำเวิร์กโฟลว์

เวิร์กโฟลว์ Super-Linter ที่คุณเพิ่งเพิ่มการรันทุกครั้งที่รหัสถูกส่งไปยังที่เก็บของคุณเพื่อช่วยให้คุณค้นหาปัญหาในรหัสของคุณ ที่เก็บของคุณสามารถมีเวิร์กโฟลว์หลายอย่างที่กระตุ้นงานที่แตกต่างกันตามเหตุการณ์ที่แตกต่างกัน การกระทำของ GitHub สามารถช่วยคุณทำให้เกือบทุกด้านของกระบวนการพัฒนาแอปพลิเคชันของคุณ นี่เป็นเพียงการแนะนำขั้นพื้นฐานเกี่ยวกับการกระทำของ GitHub มี ทรัพยากร มากมายสำหรับความรู้เชิงลึกเกี่ยวกับการกระทำของ GitHub ซึ่งคุณสามารถใช้งานได้

บทสรุป

ในการสอน GitHub Actionsนี้เราได้เรียนรู้เกี่ยวกับ การรวมอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่อง และ การกระทำของ GitHub คืออะไร และเรายังสำรวจว่าเราสามารถใช้การกระทำgitHub ได้อย่างไร เพื่อสร้างเวิร์กโฟลว์ CI/CD เราใช้เวิร์กโฟลว์สุดยอดอย่างง่ายจากตลาดการกระทำของ GitHub เพื่อค้นหาความไม่สอดคล้องใด ๆ ใน Codebase ของเรา ในบทความที่กำลังจะมาถึงเราจะสำรวจการกระทำของ GitHub ในเชิงลึกมากขึ้น นอกจากนี้คุณสามารถค้นหาโพสต์บล็อกอื่น ๆ ที่เกี่ยวข้องกับระบบควบคุมเวอร์ชัน**ที่กล่าวถึงในส่วน“ สำรวจ” ด้านล่าง ในที่สุด containerize.com กำลังเขียนโพสต์บล็อกอย่างต่อเนื่องในผลิตภัณฑ์และหัวข้อโอเพนซอร์ซเพิ่มเติม ดังนั้นโปรดติดต่อกับหมวดหมู่ ซอฟต์แวร์ควบคุมเวอร์ชัน สำหรับการอัปเดตปกติ ยิ่งกว่านั้นคุณสามารถติดตามเราในบัญชีโซเชียลมีเดียของเรา Facebook, LinkedIn และ Twitter

สำรวจ

คุณอาจพบลิงค์ต่อไปนี้ที่เกี่ยวข้อง: