{"id":314,"date":"2023-04-20T12:27:00","date_gmt":"2023-04-20T03:27:00","guid":{"rendered":"https:\/\/www.gyuroot.com\/wordpress\/?p=314"},"modified":"2023-05-21T16:24:25","modified_gmt":"2023-05-21T07:24:25","slug":"github-action","status":"publish","type":"post","link":"https:\/\/www.gyuroot.com\/wordpress\/?p=314","title":{"rendered":"GitHub Action"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_63 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\ubaa9\ucc28<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=314\/#GitHub_Actions%EB%9E%80\" title=\"GitHub Actions\ub780?\">GitHub Actions\ub780?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=314\/#GitHub_Actions%EC%9D%98_%EA%B5%AC%EC%84%B1_%EC%9A%94%EC%86%8C\" title=\"GitHub Actions\uc758 \uad6c\uc131 \uc694\uc18c\">GitHub Actions\uc758 \uad6c\uc131 \uc694\uc18c<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=314\/#WorkFlow_yaml_%ED%8C%8C%EC%9D%BC_%EC%98%88%EC%A0%9C\" title=\"WorkFlow .yaml \ud30c\uc77c \uc608\uc81c\">WorkFlow .yaml \ud30c\uc77c \uc608\uc81c<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"GitHub_Actions%EB%9E%80\"><\/span>GitHub Actions\ub780?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">\ube4c\ub4dc, \ud14c\uc2a4\ud2b8 \ubc0f \ubc30\ud3ec \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc790\ub3d9\ud654\ud560 \uc218 \uc788\ub294 \uc9c0\uc18d\uc801 \ud1b5\ud569 \ubc0f \uc9c0\uc18d\uc801 \ubc30\ud3ec(CI\/CD) \ud50c\ub7ab\ud3fc<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"GitHub_Actions%EC%9D%98_%EA%B5%AC%EC%84%B1_%EC%9A%94%EC%86%8C\"><\/span><strong>GitHub Actions\uc758 \uad6c\uc131 \uc694\uc18c<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul>\n<li>Workflow<\/li>\n\n\n\n<li>Event<\/li>\n\n\n\n<li>Job<\/li>\n\n\n\n<li>Action<\/li>\n\n\n\n<li>Runner<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading has-text-color\" style=\"color:rgb(0, 0, 0)\"><span class=\"ez-toc-section\" id=\"WorkFlow_yaml_%ED%8C%8C%EC%9D%BC_%EC%98%88%EC%A0%9C\"><\/span>WorkFlow .yaml \ud30c\uc77c \uc608\uc81c<span class=\"ez-toc-section-end\"><\/span><\/h5>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" style=\"font-size:.875rem;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"name: learn-github-actions\n#[Optinal] \uc791\uc5c5\ud0ed\uc5d0 \ud45c\uc2dc\ub418\ub294 \uc774\ub984\nrun-name: ${{ github.actor }} is learning GitHub Actions\n#[Optional] WorkFlow \uc2e4\ud589\uc758 \uc774\ub984\n# \ubcf4\ud1b5 WorkFlow \uc2e4\ud589\uc744 \ud2b8\ub9ac\uac70\ud55c user\uc758 \uc774\ub984\uc744 \ud45c\uc2dc\non: [push]\n#WorkFlow\uc758 \ud2b8\ub9ac\uac70\ub97c \uc9c0\uc815\njobs:\n#WorkFlow\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ubaa8\ub4e0 \uc791\uc5c5\uc744 \ud568\uaed8 \uadf8\ub8f9\ud654\n  check-bats-version:\n  #\uc791\uc5c5\uc744 \uc815\uc758\n    runs-on: ubuntu-latest\n    #\uc5b4\ub5a4 OS Version\uc5d0\uc11c \uc2e4\ud589\ud560\uac74\uc9c0 \uad6c\uc131\n    #\uc774\ub54c GitHub\uc5d0\uc11c \ud638\uc2a4\ud305\ud558\ub294 \uc0c8\ub85c\uc6b4 \uac00\uc0c1\uba38\uc2e0\uc5d0\uc11c \uc2e4\ud589\n    steps:\n    #\uc791\uc5c5\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ubaa8\ub4e0 \ub2e8\uacc4\ub97c \ud568\uaed8 \uadf8\ub8f9\ud654\n      - uses: actions\/checkout@v3\n      # \ube44\uacf5\uac1c \uc800\uc7a5\uc18c \uc0ac\uc6a9e.g).\/.github\/actions\/my-private-repo\/my-action\n      # {owner}\/{repo}@{ref(\ub9b4\ub9ac\uc988 \ubc84\uc804|\ube0c\ub79c\uce58|\ucee4\ubc0bID)}\n        if: ${{ &lt;expression&gt; }}\n      - uses: actions\/setup-node@v3\n        with:\n\t  node-version: '14'\n      - run: npm install -g bats\n      - run: bats -v\n\tenv:\n\t  myNull: ${{ null }}\n\t  myBoolean: ${{ false }}\n\t  myIntegerNumber: ${{ 711 }}\n\t  myFloatNumber: ${{ -9.2 }}\n\t  myHexNumber: ${{ 0xff }}\n\t  myExponentialNumber: ${{ -2.99e-2 }}\n\t  myString: Mona the Octocat\n\t  myStringInBraces: ${{ 'It''s open source!' }}\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">learn-github-actions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#[Optinal] \uc791\uc5c5\ud0ed\uc5d0 \ud45c\uc2dc\ub418\ub294 \uc774\ub984<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">run-name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ github.actor }} is learning GitHub Actions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#[Optional] WorkFlow \uc2e4\ud589\uc758 \uc774\ub984<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ubcf4\ud1b5 WorkFlow \uc2e4\ud589\uc744 \ud2b8\ub9ac\uac70\ud55c user\uc758 \uc774\ub984\uc744 \ud45c\uc2dc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">on<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #A3BE8C\">push<\/span><span style=\"color: #ECEFF4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#WorkFlow\uc758 \ud2b8\ub9ac\uac70\ub97c \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">jobs<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#WorkFlow\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ubaa8\ub4e0 \uc791\uc5c5\uc744 \ud568\uaed8 \uadf8\ub8f9\ud654<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">check-bats-version<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">  <\/span><span style=\"color: #616E88\">#\uc791\uc5c5\uc744 \uc815\uc758<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">runs-on<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ubuntu-latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">#\uc5b4\ub5a4 OS Version\uc5d0\uc11c \uc2e4\ud589\ud560\uac74\uc9c0 \uad6c\uc131<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">#\uc774\ub54c GitHub\uc5d0\uc11c \ud638\uc2a4\ud305\ud558\ub294 \uc0c8\ub85c\uc6b4 \uac00\uc0c1\uba38\uc2e0\uc5d0\uc11c \uc2e4\ud589<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">steps<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">#\uc791\uc5c5\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ubaa8\ub4e0 \ub2e8\uacc4\ub97c \ud568\uaed8 \uadf8\ub8f9\ud654<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">uses<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">actions\/checkout@v3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">      <\/span><span style=\"color: #616E88\"># \ube44\uacf5\uac1c \uc800\uc7a5\uc18c \uc0ac\uc6a9e.g).\/.github\/actions\/my-private-repo\/my-action<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">      <\/span><span style=\"color: #616E88\"># {owner}\/{repo}@{ref(\ub9b4\ub9ac\uc988 \ubc84\uc804|\ube0c\ub79c\uce58|\ucee4\ubc0bID)}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">if<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ &lt;expression&gt; }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">uses<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">actions\/setup-node@v3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">with<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">node-version<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">14<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">run<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">npm install -g bats<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">run<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">bats -v<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #8FBCBB\">env<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myNull<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ null }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myBoolean<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ false }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myIntegerNumber<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ 711 }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myFloatNumber<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ -9.2 }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myHexNumber<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ 0xff }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myExponentialNumber<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ -2.99e-2 }}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myString<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Mona the Octocat<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\t  <\/span><span style=\"color: #8FBCBB\">myStringInBraces<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${{ &#39;It&#39;&#39;s open source!&#39; }}<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>GitHub Actions\ub780? \ube4c\ub4dc, \ud14c\uc2a4\ud2b8 \ubc0f \ubc30\ud3ec \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc790\ub3d9\ud654\ud560 \uc218 \uc788\ub294 \uc9c0\uc18d\uc801 \ud1b5\ud569 \ubc0f \uc9c0\uc18d\uc801 \ubc30\ud3ec(CI\/CD) \ud50c\ub7ab\ud3fc GitHub Actions\uc758 \uad6c\uc131 \uc694\uc18c WorkFlow .yaml \ud30c\uc77c \uc608\uc81c<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":""},"categories":[16],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/314"}],"collection":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=314"}],"version-history":[{"count":2,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/314\/revisions"}],"predecessor-version":[{"id":327,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/314\/revisions\/327"}],"wp:attachment":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}