<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>devkuma – GitHub</title>
    <link>https://www.devkuma.com/en/tags/github/</link>
    <image>
      <url>https://www.devkuma.com/en/tags/github/logo/180x180.jpg</url>
      <title>GitHub</title>
      <link>https://www.devkuma.com/en/tags/github/</link>
    </image>
    <description>Recent content in GitHub on devkuma</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>kc@example.com (kc kim)</managingEditor>
    <webMaster>kc@example.com (kc kim)</webMaster>
    <copyright>The devkuma</copyright>
    
	  <atom:link href="https://www.devkuma.com/en/tags/github/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Introduction to GitHub Actions and Basic Usage</title>
      <link>https://www.devkuma.com/en/docs/git/github-actcions/</link>
      <pubDate>Thu, 07 Dec 2023 11:20:00 +0900</pubDate>
      <author>kc@example.com (kc kim)</author>
      <guid>https://www.devkuma.com/en/docs/git/github-actcions/</guid>
      <description>
        
        
        &lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions.png&#34; alt=&#34;GitHub Actions&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-is-github-actions-a-feature-for-workflow-automation&#34;&gt;What Is GitHub Actions? A Feature for Workflow Automation&lt;/h2&gt;
&lt;p&gt;GitHub Actions is an official GitHub feature that automates combinations of predefined processing and conditions, also known as workflows.&lt;br&gt;
With GitHub Actions, processing defined in a dedicated workflow can be executed automatically when events such as pushes to a repository occur.&lt;br&gt;
Using GitHub Actions, you can implement CI/CD, which is widely used in modern development.&lt;/p&gt;
&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;h4 alert-heading&#34; role=&#34;heading&#34;&gt;What is CI/CD?&lt;/div&gt;


CI/CD stands for &#39;Continuous Integration/Continuous Delivery&#39; and means continuous integration and continuous delivery.  
It is a practice that continuously automates development tasks such as build, test, and deployment.

[CI/CD - Continuous Integration/Continuous Delivery](/docs/ci-cd/)
&lt;/div&gt;

&lt;h2 id=&#34;main-components-and-features-of-github-actions&#34;&gt;Main Components and Features of GitHub Actions&lt;/h2&gt;
&lt;p&gt;GitHub Actions consists of several components and features. The main ones are as follows.&lt;/p&gt;
&lt;h3 id=&#34;action--a-custom-application-that-runs-predefined-tasks&#34;&gt;Action | A custom application that runs predefined tasks&lt;/h3&gt;
&lt;p&gt;An Action is a custom application for GitHub Actions that runs predefined tasks. Existing Actions can be found in GitHub Marketplace, and you can also create your own Actions.&lt;/p&gt;
&lt;h4 id=&#34;main-actions&#34;&gt;Main Actions&lt;/h4&gt;
&lt;p&gt;The following table shows representative Actions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Action examples&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Action&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;checkout&lt;/td&gt;
          &lt;td&gt;Checks out files from a repository.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;upload-artifact&lt;/td&gt;
          &lt;td&gt;Stores arbitrary files as artifacts.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;download-artifact&lt;/td&gt;
          &lt;td&gt;Downloads files stored as artifacts.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;cache&lt;/td&gt;
          &lt;td&gt;Caches dependencies or build output to speed up processing.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;github-script&lt;/td&gt;
          &lt;td&gt;Accesses GitHub features through the GitHub API.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;create-release&lt;/td&gt;
          &lt;td&gt;Creates releases through the GitHub Release API.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;stale&lt;/td&gt;
          &lt;td&gt;Warns about or closes issues and pull requests that have not been used for a certain period.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;labeler&lt;/td&gt;
          &lt;td&gt;Applies labels to pull requests.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;delete-package-versions&lt;/td&gt;
          &lt;td&gt;Deletes package versions from GitHub Packages.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;setup-node&lt;/td&gt;
          &lt;td&gt;Sets up a Node.js environment.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;setup-python&lt;/td&gt;
          &lt;td&gt;Sets up a Python environment.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;setup-go&lt;/td&gt;
          &lt;td&gt;Sets up a Go environment.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;setup-dotnet&lt;/td&gt;
          &lt;td&gt;Sets up a .NET CLI environment.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;setup-java&lt;/td&gt;
          &lt;td&gt;Sets up a Java environment.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;toolkit&lt;/td&gt;
          &lt;td&gt;Makes a toolkit available for creating Actions more easily.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;javascript-action&lt;/td&gt;
          &lt;td&gt;Creates a JavaScript Action.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;typescript-action&lt;/td&gt;
          &lt;td&gt;Creates a TypeScript Action.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;workflow--a-process-that-defines-what-to-run-and-when-to-run-it&#34;&gt;Workflow | A process that defines what to run and when to run it&lt;/h3&gt;
&lt;p&gt;A Workflow is a process that defines the tasks to execute and the conditions under which they should run. You can create a Workflow by combining multiple Actions.&lt;/p&gt;
&lt;h3 id=&#34;runner--the-server-that-executes-a-workflow&#34;&gt;Runner | The server that executes a workflow&lt;/h3&gt;
&lt;p&gt;In GitHub, the server or environment that executes a Workflow is called a Runner. When using GitHub Actions, you can use virtual machines officially provided by GitHub as Runners. You can also prepare and use your own Runner.&lt;/p&gt;
&lt;h3 id=&#34;job--a-workflow-stage-that-runs-on-the-same-runner&#34;&gt;Job | A workflow stage that runs on the same Runner&lt;/h3&gt;
&lt;p&gt;A Job is a stage within a workflow that runs on the same Runner. Jobs can also define dependencies on other Jobs. By default, Jobs run in parallel without dependencies between them.&lt;/p&gt;
&lt;h2 id=&#34;benefits-of-using-github-actions&#34;&gt;Benefits of Using GitHub Actions&lt;/h2&gt;
&lt;p&gt;There are other tools that support automation such as CI/CD. Among them, one of the biggest advantages of GitHub Actions is that you can use virtual servers provided by GitHub.&lt;/p&gt;
&lt;p&gt;With GitHub Actions, users do not need to prepare their own servers. If a physical server is required instead of a virtual server, users can also prepare their own server and use it with GitHub Actions.&lt;/p&gt;
&lt;p&gt;Because GitHub Actions is an official feature, automation related to GitHub can be implemented smoothly. This is a unique advantage that GitHub Actions has over other tools.&lt;/p&gt;
&lt;h2 id=&#34;cautions-when-using-github-actions&#34;&gt;Cautions When Using GitHub Actions&lt;/h2&gt;
&lt;p&gt;GitHub Actions has the following functional limits depending on the plan.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Plan&lt;/th&gt;
          &lt;th&gt;Maximum concurrent Jobs&lt;/th&gt;
          &lt;th&gt;Maximum concurrent Jobs (macOS)&lt;/th&gt;
          &lt;th&gt;Available time limit&lt;/th&gt;
          &lt;th&gt;Available storage&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Free&lt;/td&gt;
          &lt;td&gt;20&lt;/td&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;2,000 minutes/month&lt;/td&gt;
          &lt;td&gt;500 MB&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pro&lt;/td&gt;
          &lt;td&gt;40&lt;/td&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;3,000 minutes/month&lt;/td&gt;
          &lt;td&gt;1 GB&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Team&lt;/td&gt;
          &lt;td&gt;60&lt;/td&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;10,000 minutes/month&lt;/td&gt;
          &lt;td&gt;2 GB&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Enterprise&lt;/td&gt;
          &lt;td&gt;180&lt;/td&gt;
          &lt;td&gt;50&lt;/td&gt;
          &lt;td&gt;50,000 minutes/month&lt;/td&gt;
          &lt;td&gt;50 GB&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;GitHub Actions must also be used only within the scope of its usage policy. For details about GitHub plans and terms, see the official sites below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.github.com/ko/billing/managing-billing-for-github-actions/about-billing-for-github-actions?_fsi=LlxUgcTQ&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;About billing for GitHub Actions&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/pricing?_fsi=LlxUgcTQ&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Pricing&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.github.com/ko/site-policy/github-terms/github-terms-for-additional-products-and-features?_fsi=LlxUgcTQ&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub Terms for Additional Products and Features&lt;i class=&#34;fas fa-external-link-alt&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;github-actions-use-cases&#34;&gt;GitHub Actions Use Cases&lt;/h2&gt;
&lt;p&gt;GitHub Actions can be used in many ways. Here are a few examples.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatically generate release notes and release source packages to make software release work more efficient.&lt;/li&gt;
&lt;li&gt;Automatically set up environments such as Java or Python.&lt;/li&gt;
&lt;li&gt;Automatically notify Slack or email about pull request activity.&lt;/li&gt;
&lt;li&gt;Run JavaScript linting every time code is pushed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many other use cases are also possible.&lt;/p&gt;
&lt;h2 id=&#34;basic-github-actions-usage-example&#34;&gt;Basic GitHub Actions Usage Example&lt;/h2&gt;
&lt;p&gt;This section walks through basic usage by setting up GitHub Actions.&lt;/p&gt;
&lt;p&gt;It assumes that Git, a GitHub account, and other initial GitHub-related settings are already prepared.&lt;/p&gt;
&lt;p&gt;First, create a dedicated repository for GitHub Actions from the GitHub management screen. Click &amp;lsquo;New&amp;rsquo; in GitHub.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-1.png&#34; alt=&#34;Repository for GitHub Actions&#34;&gt;&lt;/p&gt;
&lt;p&gt;The repository creation screen appears. Enter the desired name in &amp;lsquo;Repository name&amp;rsquo; and click &amp;lsquo;Create repository&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-2.png&#34; alt=&#34;Enter repository name&#34;&gt;&lt;/p&gt;
&lt;p&gt;In Git bash or another terminal, run the following command to clone the created repository locally.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTP:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;user name&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;/&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;repository name&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SSH:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone git@github.com:&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;user name&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;/&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;repository name&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;.git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the user name is &lt;code&gt;devkuma&lt;/code&gt; and the repository name is &lt;code&gt;test&lt;/code&gt;, the commands are as follows.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTP:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/user/git-actions.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SSH:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone git@github.com:devkuma/git-actions.git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% git clone git@github.com:devkuma/git-actions.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;git-actions&amp;#39;&lt;/span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;warning: You appear to have cloned an empty repository.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Inside the cloned local repository, create a &lt;code&gt;.github/workflows&lt;/code&gt; folder, and then create a file named &lt;code&gt;actions-test.yml&lt;/code&gt; in that folder. This &lt;code&gt;actions-test.yml&lt;/code&gt; file becomes the GitHub Actions workflow.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% &lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; git-actions
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% mkdir -p .github/workflows
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% &lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; .github/workflows
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% touch actions-test.yml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;GitHub Actions workflows are stored in the &lt;code&gt;.github/workflows&lt;/code&gt; directory.
Workflows are written in YAML format (&lt;code&gt;.yml&lt;/code&gt;).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Next, edit &lt;code&gt;actions-test.yml&lt;/code&gt; in any text editor as follows.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;actions-test&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;on&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;push]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;jobs&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;check-bats-version&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;runs-on&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ubuntu-latest&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;steps&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;      &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;run&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;echo &amp;#34;Hello World&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The meaning of this file is as follows.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Code&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;name: actions-test&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Creates a workflow named &lt;code&gt;actions-test&lt;/code&gt;.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;on: [push]&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Runs when a push is performed.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;runs-on: ubuntu-latest&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Prepares the latest Ubuntu environment.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;run: echo &amp;quot;Hello World&amp;quot;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Runs the &lt;code&gt;echo &amp;quot;Hello World&amp;quot;&lt;/code&gt; command.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This creates the GitHub Actions workflow file. After creating the file, add, commit, and push it in the following order.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;[Add] actions test&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When this push is executed, the workflow runs.&lt;/p&gt;
&lt;p&gt;Now check whether the workflow actually runs. Open the repository you just created in the GitHub management screen, then open the &amp;lsquo;Actions&amp;rsquo; menu.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-3.png&#34; alt=&#34;Actions menu location&#34;&gt;&lt;/p&gt;
&lt;p&gt;The GitHub Actions management screen appears. As shown below, a GitHub Actions log is recorded with the comment name specified in the git commit, so click that log and check it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-4.png&#34; alt=&#34;GitHub Actions log&#34;&gt;&lt;/p&gt;
&lt;p&gt;Next, click in the following order.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-5.png&#34; alt=&#34;Step guide&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-6.png&#34; alt=&#34;Step execution&#34;&gt;&lt;/p&gt;
&lt;p&gt;The following screen appears, and you can confirm that the command &lt;code&gt;Run echo &amp;quot;Hello world!&amp;quot;&lt;/code&gt; was executed as specified in the workflow.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.devkuma.com/docs/git/github-actions-7.png&#34; alt=&#34;Command execution confirmation location&#34;&gt;&lt;/p&gt;
&lt;p&gt;As this example shows, a GitHub Actions workflow can prepare an Ubuntu environment and execute various commands inside Ubuntu.&lt;/p&gt;
&lt;h2 id=&#34;closing&#34;&gt;Closing&lt;/h2&gt;
&lt;p&gt;With GitHub Actions, you can automatically execute specified tasks by using events such as Push as triggers, and you can also implement CI/CD.&lt;/p&gt;
&lt;p&gt;Because GitHub Actions can use virtual servers provided by GitHub, users do not need to separately prepare and operate execution environments. Also, because it is an official GitHub feature, it integrates easily with GitHub, which is an advantage other CI/CD tools do not have.&lt;/p&gt;
&lt;p&gt;GitHub Actions is useful for many tasks, such as automatically generating release notes or running JavaScript linting on every push. On the other hand, be aware that the Free plan limits the maximum number of concurrent jobs to 20, and that GitHub Actions must be used in compliance with the terms summarized on the official site.&lt;/p&gt;

      </description>
      
      <category>Git</category>
      
      <category>GitHub</category>
      
      <category>SCM</category>
      
      <category>VCS</category>
      
    </item>
    
  </channel>
</rss>
