31 lines
1.9 MiB
HTML
31 lines
1.9 MiB
HTML
|
<!DOCTYPE html> <html class="sevogelnj idc0_331" lang=en><!--
|
|||
|
Page saved with SingleFile
|
|||
|
url: https://learning.oreilly.com/library/view/hands-on-github-actions/9781484264645/html/502534_1_En_2_Chapter.xhtml
|
|||
|
saved date: Tue Aug 03 2021 16:17:15 GMT+0200 (Central European Summer Time)
|
|||
|
--><meta charset=utf-8>
|
|||
|
<meta name=viewport content="width=device-width, initial-scale=1">
|
|||
|
<meta name=theme-color content=#B9002D>
|
|||
|
<meta data-react-helmet=true property=og:image content=https://learning.oreilly.com/covers/urn:orm:book:9781484264645/><meta data-react-helmet=true name=twitter:image content=https://learning.oreilly.com/covers/urn:orm:book:9781484264645/><meta data-react-helmet=true name=twitter:card content=summary><meta data-react-helmet=true name=twitter:creator content=@OReillyMedia><meta data-react-helmet=true name=twitter:site content=@OReillyMedia><meta data-react-helmet=true name=twitter:title content="O'Reilly Media - Technology and Business Training"><meta data-react-helmet=true property=twitter:account_id content=4503599627559754><meta data-react-helmet=true property=og:site_name content="O'Reilly Online Learning"><meta data-react-helmet=true name=publisher content=Apress><meta data-react-helmet=true property=og:book:author itemprop=author content="Chaminda Chandrasekara"><meta data-react-helmet=true property=og:book:author itemprop=author content="Pushpa Herath"><meta data-react-helmet=true property=og:type content=book><meta data-react-helmet=true property=og:book:isbn itemprop=isbn content=9781484264645>
|
|||
|
<title>2. Getting Started with GitHub Actions Workflows | Hands-on GitHub Actions: Implement CI/CD with GitHub Action Workflows for Your Applications</title>
|
|||
|
<style>@font-face{font-family:"ORM Icons";font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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
|
|||
|
<meta itemprop=isPartOf content=/library/view/hands-on-github-actions/9781484264645/ data-react-helmet=true><meta property=og:url itemprop=url content=https://learning.oreilly.com/library/view/hands-on-github-actions/9781484264645/html/502534_1_En_2_Chapter.xhtml data-react-helmet=true><meta name=search-title content="2. Getting Started with GitHub Actions Workflows" data-react-helmet=true><meta property=og:title content="2. Getting Started with GitHub Actions Workflows" data-react-helmet=true><meta itemprop=name content="2. Getting Started with GitHub Actions Workflows" data-react-helmet=true><meta property=og:description itemprop=description content="© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2021C. Chandrasekara, P. HerathHands-on GitHub Actionshttps://doi.org/10.1007/978-1-4842-6464-5_22. Getting..." data-react-helmet=true><meta name=twitter:description content="© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2021C. Chandrasekara, P. HerathHands-on GitHub Actionshttps://doi.org/10.1007/978-1-4842-6464-5_22. Getting..." data-react-helmet=true><link rel="shortcut icon" href="data:image/vnd.microsoft.icon;base64,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
|
|||
|
<body>
|
|||
|
<noscript class=sf-hidden>
|
|||
|
<iframe src='https://www.googletagmanager.com/ns.html?id=GTM-5P4V6Z'
|
|||
|
height='0' width='0' style='display:none;visibility:hidden'></iframe>
|
|||
|
</noscript>
|
|||
|
<div id=root><div class=orm-ff-Shell-shell__wrapper><a href=#main class=orm-ff-Shell-skipLink>Skip to content</a><header class="orm-ff-Shell-sidebar orm-ff-Shell-collapsedSidebar"><div class=orm-ff-Navigation-collapsed__wrapper><div class=orm-ff-Logo-LogoWrapper data-testid=collapsed-logo><a href=https://learning.oreilly.com/><svg width=40 height=40 viewBox="0 0 40 40" fill=none xmlns=http://www.w3.org/2000/svg><circle cx=20 cy=20 r=18 fill=#D3002D></circle><mask id=mask0 mask-type=alpha maskUnits=userSpaceOnUse x=10 y=11 width=24 height=18><path fill-rule=evenodd clip-rule=evenodd d="M19.8774 11C16.2373 10.9999 12.9556 13.1926 11.5626 16.5556C10.1696 19.9185 10.9396 23.7895 13.5136 26.3634C15.1978 28.0566 17.4892 29.0059 19.8774 29C23.5176 29.0002 26.7994 26.8075 28.1924 23.4444C29.5855 20.0813 28.8153 16.2102 26.2412 13.6364C24.5569 11.9432 22.2655 10.9939 19.8774 11ZM25.5315 20.0001C25.5303 22.6961 23.6251 25.0158 20.9809 25.541C18.3366 26.0662 15.6895 24.6506 14.6582 22.1598C13.6268 19.6689 14.4983 16.7964 16.7398 15.2986C18.9813 13.8007 21.9687 14.0946 23.8754 16.0005C24.9393 17.0591 25.5357 18.4993 25.5315 20.0001ZM28.6361 12.4394C28.9972 11.5679 29.8478 10.9998 30.7911 11C32.0782 11.0016 33.1212 12.0445 33.1227 13.3316C33.1229 14.275 32.5548 15.1255 31.6833 15.4867C30.8118 15.8478 29.8086 15.6483 29.1415 14.9812C28.4745 14.3142 28.275 13.3109 28.6361 12.4394Z" fill=white></path></mask><g mask=url(#mask0)><path fill-rule=evenodd clip-rule=evenodd d="M10 8H34V32H10V8Z" fill=white></path></g></svg></a></div><div class="orm-ff-LogoView-root orm-ff-Navigation-logoView orm-ff-LogoView-collapsedNav"><div class="orm-ff-LogoView-container orm-ff-LogoView-collapsedNav"><div class="orm-ff-LogoView-logoWrapper orm-ff-LogoView-collapsedNav" data-testid=nav-logo><a href=https://learning.oreilly.com/ class="orm-Logo-logoWrapper orm-ff-LogoView-ormLogoWrapper orm-ff-LogoView-collapsedLogo"><span class="orm-Logo-root orm-ff-LogoView-ormLogoRoot orm-ff-LogoView-collapsedLogo orm-Logo-small">
|
|||
|
<svg width=148 height=26 viewBox="0 0 148 26" xmlns=http://www.w3.org/2000/svg>
|
|||
|
<g fill=#FFF fill-rule=evenodd>
|
|||
|
<path d="M70.46 5.45V1.641H54.516v22.864h15.946v-3.812H58.337v-5.71h11.54v-3.81h-11.54V5.45h12.124M82.291 24.502V1.642h3.825v19.05h11.032v3.81H82.29M100.262 24.502V1.642h3.822v19.05h11.031v3.81h-14.853M74.475 24.502h3.818V1.638h-3.818zM6.773 7.446a8.09 8.09 0 0 0-2.38 5.73c0 2.242.91 4.25 2.38 5.723a8.085 8.085 0 0 0 5.745 2.379 8.074 8.074 0 0 0 5.746-2.38 8.036 8.036 0 0 0 2.377-5.723 8.074 8.074 0 0 0-2.377-5.73 8.114 8.114 0 0 0-5.746-2.362c-2.25 0-4.265.9-5.745 2.363M.57 13.176c0-6.579 5.347-11.902 11.947-11.909 6.6.007 11.948 5.33 11.948 11.909 0 6.577-5.348 11.908-11.948 11.908-6.6 0-11.947-5.33-11.947-11.909M36.284 11.17V5.45h7.705a2.868 2.868 0 0 1 2.866 2.86 2.875 2.875 0 0 1-2.866 2.86h-7.705zm9.62 3.527c2.761-.83 4.77-3.367 4.776-6.387a6.686 6.686 0 0 0-6.69-6.669H32.458v22.86h3.825v-9.519h5.331l5.762 9.52h4.461l-5.935-9.805zM29.752 4.075a2.81 2.81 0 0 1-2.814 2.805 2.808 2.808 0 0 1-2.814-2.804 2.81 2.81 0 0 1 2.814-2.808 2.813 2.813 0 0 1 2.814 2.808M132.163 1.641h-4.647l-5.886 8.49-5.885-8.49h-4.647l8.615 12.438v10.426h3.825V14.089l8.625-12.448M141.675 11.612c-2.791 0-5.048-2.255-5.048-5.027a5.043 5.043 0 0 1 5.048-5.041 5.049 5.049 0 0 1 5.045 5.04c0 2.773-2.267 5.028-5.045 5.028m0-11.017c-3.313 0-6.01 2.675-6.01 5.99 0 3.298 2.697 5.983 6.01 5.983 3.316 0 6.003-2.685 6.003-5.983a5.992 5.992 0 0 0-6.003-5.99"></path>
|
|||
|
<path d="M140.224 4.498h2.364c.424 0 .76.345.763.77a.76.76 0 0 1-.763.754h-2.364V4.498zm4.148.77c0-.994-.8-1.79-1.784-1.79H139.2v6.11h1.024V7.049h1.709l1.229 2.538h1.138l-1.262-2.6a1.77 1.77 0 0 0 1.334-1.719z"></path>
|
|||
|
</g>
|
|||
|
</svg></span><span class=orm-Logo-logoTitle>O'Reilly</span></a></div></div></div><div class=orm-ff-Navigation-primaryNav__wrapper><div class=orm-ff-NavigationView-root><div class="orm-ff-NavigationView-container orm-ff-NavigationView-collapsedNav"><div class=orm-ff-NavigationView-headerMenu><div class=orm-ff-NavigationView-headerControls><nav aria-label=Primary><ul class=orm-ff-NavigationView-headerList data-testid=primaryHeaderMenuItems><li class=orm-ff-NavigationView-headerListItem><a href=https://learning.oreilly.com/home/ class="orm-Link-root orm-Link-hasIcon"><span class="orm-Icon-root orm-Link-icon orm-ff-NavigationView-linkIcon" aria-hidden=true style=height:1rem data-testid=icon><span style=font-size:1rem;width:1rem;height:1rem class="orm-Icon-icon orm-icon-home" aria-hidden=true></span><span class=orm-Icon-title>home</span></span>Home</a><li class=orm-ff-NavigationView-toggleControls><button aria-expanded=false class="orm-Button-root orm-ToggleLinks-root orm-Button-small"><span class="orm-Button-btnContentWrap orm-ToggleLinks-btnContentWrap"><span class=orm-ToggleLinks-iconContentWrap><span class="orm-Icon-root orm-ToggleLinks-extraIcon orm-ToggleLinks-showHideIcon" aria-hidden=true style=height:1rem data-testid=icon><span style=font-size:1rem;width:1rem;height:1rem class="orm-Icon-icon orm-icon-person" aria-hidden=true></span><span class=orm-Icon-title>person</span></span>Your O'Reilly</span><span class=orm-Icon-root aria-hidden=true style=height:1rem data-testid=icon><span style=font-size:1rem;width:1rem;height:1rem class="orm-Icon-icon orm-Button-icon orm-ToggleLinks-toggleIcon orm-icon-chevron-down" aria-hidden=true></span><span class=orm-Icon-title>chevron down</span></span></span></button><ul class=orm-ToggleLinks-toggleList><li class=orm-ff-NavigationView-toggleListItem><a href=https://learning.oreilly.com/profile/ class=orm-Link-root><span class=orm-ff-NavigationView-toggleListLabel>Profile</span></a><li class=orm-ff-NavigationView-toggleListItem><a href=https://learning.oreilly.com/history/ class=orm-Link-root><span class=orm-ff-NavigationView-toggleListLabel>History</span></a><li class=orm-ff-NavigationView-toggleListItem><a href=https://learning.oreilly.com/playlists/ class=orm-Link-root><span class=orm-ff-NavigationView-toggleListLabel>Playlists</span></a><li class=orm-ff-NavigationView-toggleListItem><a href=https://learning.oreilly.com/u/df548b90-632b-4f02-aeed-c8a0e13a6eb7/ class=orm-Link-root><span class=orm-ff-NavigationView-toggleListLabel>Highlights</span></a></ul><li class=orm-ff-NavigationView-headerListItem><a href=https://learning.oreilly.com/answers/ class="orm-Link-root orm-Link-hasIcon"><span class="orm-Icon-root orm-Link-icon orm-ff-NavigationView-linkIcon" aria-hidden=true style=height:1rem data-testid=icon><span style=font-size:1rem;width:1rem;height:1rem class="orm-Icon-icon orm-icon-answers" aria-hidden=true></span><span class=orm-Icon-title>answers</span></span>Answers</a><li class=orm-ff-NavigationView-toggleControls><button aria-expanded=false class="orm-Button-root orm-ToggleLinks-root orm-Button-small"><span class="orm-Button-btnContentWrap orm-ToggleLinks-btnContentWrap"><span class=orm-ToggleLinks-iconContentWrap><span class="orm-Icon-root orm-ToggleLinks-extraIcon orm-ToggleLinks-showHideIcon" aria-hidden=true style=height:1rem data-testid=icon><span style=font-size:1rem;width:1rem;height:1rem class="orm-Icon-icon orm-icon-queue" aria-hidden=true></span><span class=orm-Icon-title>queue</span></span>Explore</span><span class=orm-Icon-root aria-hidden=true style=height:1rem data-testid=icon><span style=font-size:1rem;width:1rem;height:1rem class="orm-Icon-icon orm-Button-icon orm-ToggleLinks-toggleIcon orm-icon-chevron-down" aria-hidden=true></span><span class=orm-Icon-title>chevron down</span></span></span></button><ul class=orm-ToggleLinks-toggleList><li class=orm-ff-NavigationView-toggleListItem><a href=https://learning.oreilly.com/topics/ class=orm-Link-root><span class=orm-ff-NavigationView-toggleListLabel>All Topics</span></a><li class=orm-ff-NavigationView-toggleListI
|
|||
|
</span><figure class=Figure id=Fig1><div class=MediaObject id=MO1><img alt=../images/502534_1_En_2_Chapter/502534_1_En_2_Fig1_HTML.jpg src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD//gAuSGFuZG1hZGUgU29mdHdhcmUsIEluYy4gSW1hZ2UgQWxjaGVteSB2MS4xMwr/7Re+UGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAuYCZ8zfPhLYAGiFkbWJlAOEJJTQQ6AAAAAADlAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAUHN0U2Jvb2wBAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAA9wcmludFNpeHRlZW5CaXRib29sAAAAAAtwcmludGVyTmFtZVRFWFQAAAABAAAAAAAPcHJpbnRQcm9vZlNldHVwT2JqYwAAAAwAUAByAG8AbwBmACAAUwBlAHQAdQBwAAAAAAAKcHJvb2ZTZXR1cAAAAAEAAAAAQmx0bmVudW0AAAAMYnVpbHRpblByb29mAAAACXByb29mQ01ZSwA4QklNBDsAAAAAAi0AAAAQAAAAAQAAAAAAEnByaW50T3V0cHV0T3B0aW9ucwAAABcAAAAAQ3B0bmJvb2wAAAAAAENsYnJib29sAAAAAABSZ3NNYm9vbAAAAAAAQ3JuQ2Jvb2wAAAAAAENudENib29sAAAAAABMYmxzYm9vbAAAAAAATmd0dmJvb2wAAAAAAEVtbERib29sAAAAAABJbnRyYm9vbAAAAAAAQmNrZ09iamMAAAABAAAAAAAAUkdCQwAAAAMAAAAAUmQgIGRvdWJAb+AAAAAAAAAAAABHcm4gZG91YkBv4AAAAAAAAAAAAEJsICBkb3ViQG/gAAAAAAAAAAAAQnJkVFVudEYjUmx0AAAAAAAAAAAAAAAAQmxkIFVudEYjUmx0AAAAAAAAAAAAAAAAUnNsdFVudEYjUHhsQHXgAAAAAAAAAAAKdmVjdG9yRGF0YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABABLAAAAAEAAQEsAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAAM1AAAABgAAAAAAAAAAAAAHfgAABn8AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAZ/AAAHfgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAHfgAAAABSZ2h0bG9uZwAABn8AAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAB34AAAAAUmdodGxvbmcAAAZ/AAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAThCSU0EDAAAAAAPEAAAAAEAAACLAAAAoAAAAaQAAQaAAAAO9AAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoACLAwEiAAIRAQMRAf/dAAQACf/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9SexzhDXFh8QAf8Aqgo+lZsDfVO4TL4GvxbG1FSSUibVYGBpsJcOXwATz+bG1QZRkNc0uyHPaOQWsE/NrQq1fVrXMe52BlNNYmNg9xLms2Vy5u76e5/+D/lvTt6tY9zGjAyh6hADnMAABf6RdZ7y5m3+c+j/ADaSkzsfKLnFt72hxkNhhAHt9g3V/wAn/pollVrxLbTUYiAGuE/ve9qqN6tc4u24GSA1jnAva1slo9rI3ud+k2pj1i0ML/2dlkD6MMbLj4Bu/e32
|
|||
|
<div class=ProgramCode id=PC3><div class=LineGroup><div class=FixedLine>jobs:</div><div class=FixedLine> # This job name is mybuild</div><div class=FixedLine> mybuild:</div><div class=FixedLine> # Runner type that the job will run on</div><div class=FixedLine> runs-on: ubuntu-latest</div></div></div>
|
|||
|
</div><div class=Para id=Par23>A job is another major part of a workflow. A workflow can have one or more jobs. By default, jobs run in parallel. Hence, if you need to run jobs one after another, dependency should be defined. For example, in the following workflow, the AppCenterDistribute job needs the Android job to complete before it can execute. Dependency is defined with the <span class=EmphasisFontCategoryNonProportional>needs: DependingJobName</span> syntax in each job scope.<div class=ProgramCode id=PC4><div class=LineGroup><div class=FixedLine>jobs:</div></div><div class=LineGroup><div class=FixedLine> Android:</div><div class=FixedLine> runs-on: macos-latest</div><div class=FixedLine> steps:</div><div class=FixedLine> - uses: actions/checkout@v1</div><div class=FixedLine> # omitted steps for brevity</div></div><div class=LineGroup><div class=FixedLine> AppCenterDistibute:</div><div class=FixedLine> runs-on: ubuntu-latest</div><div class=FixedLine> needs: Android</div><div class=FixedLine> steps:</div></div></div></div><div class=Para id=Par24>All workflow steps and actions are defined in a workflow job. The following uses AppCenterDistribute job steps as an example. This example uses a secret in a step, which we discuss in Chapter <span class=ExternalRef><a href=https://learning.oreilly.com/library/view/hands-on-github-actions/9781484264645/html/502534_1_En_4_Chapter.xhtml><span class=RefSource>4</span></a></span>.<div class=ProgramCode id=PC5><div class=LineGroup><div class=FixedLine>AppCenterDistibute:</div><div class=FixedLine> runs-on: ubuntu-latest</div><div class=FixedLine> needs: Android</div><div class=FixedLine> steps:</div><div class=FixedLine> - uses: actions/download-artifact@v2</div><div class=FixedLine> with:</div><div class=FixedLine> name: my-artifact</div></div><div class=LineGroup><div class=FixedLine> - name: App Center</div><div class=FixedLine> uses: wzieba/AppCenter-Github-Action@v1.0.0</div><div class=FixedLine> with:</div><div class=FixedLine> # App name followed by username</div><div class=FixedLine> appName: Ch-DemoOrg/demoapp</div><div class=FixedLine> # Upload token - you can get one from appcenter.ms/settings</div><div class=FixedLine> token: ${{ secrets.AppCenterAPIToken }}</div><div class=FixedLine> # Distribution group</div><div class=FixedLine> group: alphatesters</div><div class=FixedLine> # Artefact to upload (.apk or .ipa)</div><div class=FixedLine> file: AwesomeApp/AwesomeApp.Android/bin/Debug/com.companyname.AwesomeApp.apk</div><div class=FixedLine> # Release notes visible on release page</div><div class=FixedLine> releaseNotes: "demo test"</div></div></div></div><p class=Para id=Par25>So far, you have gained a basic understanding about a workflow’s YAML structure. Now, let’s discuss workflow runs.<div class=Para id=Par26>Go to Actions in the GitHub repository. You find a list of the workflows run, as shown in Figure <span class=InternalRef><a href=#Fig7>2-7</a></span> (see the area labeled 2). (We assume that by now you have created at least one workflow, utilizing an available template or sample structure created when you selected the “Set up workflow yourself”
|
|||
|
</span><span id=ITerm14>
|
|||
|
</span> is a very important section of the pipelines. It enables teams to ensure that the submitted code is validated. The required important branches are protected, and the deployment happens as expected. In this section, you learn about triggers in GitHub Actions and how to control them in different conditions.<p class=Para id=Par31>When configuring triggers, you need to identify the starting event, which explains the pipeline’s situation. Three main events trigger a GitHub Actions pipeline: pushing a commit to the repository, creating an issue, and creating a pull request.<div class=Para id=Par32>An event is defined using <span class=EmphasisFontCategoryNonProportional>on:</span> syntax. As shown in the following example, a workflow triggers when it pushes changes to the master branch.<div class=ProgramCode id=PC6><div class=LineGroup><div class=FixedLine>on:</div><div class=FixedLine> push:</div><div class=FixedLine> branches: [ master ]</div></div></div></div><div class=Para id=Par33>Similarly, you can trigger both a push and a pull request targeting the master branch, as shown next.<div class=ProgramCode id=PC7><div class=LineGroup><div class=FixedLine>on:</div><div class=FixedLine> push:</div><div class=FixedLine> branches: [ master ]</div><div class=FixedLine> pull_request:</div><div class=FixedLine> branches: [ master ]</div></div></div></div><div class=Para id=Par34>You can use a scheduled event as a trigger using <span class=EmphasisFontCategoryNonProportional>cron:</span> syntax.<div class=ProgramCode id=PC8><div class=LineGroup><div class=FixedLine>on:</div><div class=FixedLine> schedule:</div><div class=FixedLine> - cron: '0 * * * *'</div></div></div></div><div class=Para id=Par35>Cron expressions allow you to define schedule triggers based on the following format.<div class=ProgramCode id=PC9><div class=LineGroup><div class=FixedLine>{second} {minute} {hour} {day} {month} {day-of-week}</div><div class=FixedLine>* * * * * *</div><div class=FixedLine>- - - - - -</div><div class=FixedLine>| | | | | |</div><div class=FixedLine>| | | | | +--- day of week (0 - 6) (Sunday=0)</div><div class=FixedLine>| | | | +----- month (1 - 12)</div><div class=FixedLine>| | | +------- day of month (1 - 31)</div><div class=FixedLine>| | +--------- hour (0 - 23)</div><div class=FixedLine>| +----------- min (0 - 59)</div><div class=FixedLine>+------------- sec (0 - 59)</div></div></div></div><div class=Para id=Par36>A workflow can be triggered manually using a workflow_dispatch trigger. If required, you can define input values that are changeable in a workflow_dispatch trigger. The following example shows utilizing input in a workflow with a manual trigger.<div class=ProgramCode id=PC10><div class=LineGroup><div class=FixedLine>name: myworkflow</div><div class=FixedLine>on:</div><div class=FixedLine> workflow_dispatch:</div><div class=FixedLine> inputs:</div><div class=FixedLine> name:</div><div class=FixedLine> description: 'name of the person'</div><div class=FixedLine> required: true</div><div class=FixedLine> default: 'Chaminda'</div><div class=FixedLine> country:</div><div class=FixedLine> description: 'Country'</div><div class=FixedLine> required: false</div></div><div class=LineGroup><div class=FixedLine>jobs:</div><div class=FixedLine> greetuser:</div><div class=FixedLine> runs-on: ubuntu-latest</div><div class=FixedLine> steps:</div><div class=FixedLine> - run: |</div><div class=FixedLine> echo "Hi ${{ github.event.inputs.name }
|
|||
|
</span> with GitHub Actions.<p class=Para id=Par40>The prerequisites are a GitHub repo with .NET Core code.<div class=Para id=Par41>As discussed, there are two options for creating a GitHub workflow. You can either create a workflow from scratch or use a template. This section uses a .NET Core workflow template to modify the YAML file according to requirements (see Figure <span class=InternalRef><a href=#Fig11>2-11</a></span>).<figure class=Figure id=Fig11><div class=MediaObject id=MO11><img alt=../images/502534_1_En_2_Chapter/502534_1_En_2_Fig11_HTML.jpg src=data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD//gAuSGFuZG1hZGUgU29mdHdhcmUsIEluYy4gSW1hZ2UgQWxjaGVteSB2MS4xMwr/7RLEUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAuYCZ8zfPhLYAGiFkbWJlAOEJJTQQ6AAAAAADlAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAUHN0U2Jvb2wBAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAA9wcmludFNpeHRlZW5CaXRib29sAAAAAAtwcmludGVyTmFtZVRFWFQAAAABAAAAAAAPcHJpbnRQcm9vZlNldHVwT2JqYwAAAAwAUAByAG8AbwBmACAAUwBlAHQAdQBwAAAAAAAKcHJvb2ZTZXR1cAAAAAEAAAAAQmx0bmVudW0AAAAMYnVpbHRpblByb29mAAAACXByb29mQ01ZSwA4QklNBDsAAAAAAi0AAAAQAAAAAQAAAAAAEnByaW50T3V0cHV0T3B0aW9ucwAAABcAAAAAQ3B0bmJvb2wAAAAAAENsYnJib29sAAAAAABSZ3NNYm9vbAAAAAAAQ3JuQ2Jvb2wAAAAAAENudENib29sAAAAAABMYmxzYm9vbAAAAAAATmd0dmJvb2wAAAAAAEVtbERib29sAAAAAABJbnRyYm9vbAAAAAAAQmNrZ09iamMAAAABAAAAAAAAUkdCQwAAAAMAAAAAUmQgIGRvdWJAb+AAAAAAAAAAAABHcm4gZG91YkBv4AAAAAAAAAAAAEJsICBkb3ViQG/gAAAAAAAAAAAAQnJkVFVudEYjUmx0AAAAAAAAAAAAAAAAQmxkIFVudEYjUmx0AAAAAAAAAAAAAAAAUnNsdFVudEYjUHhsQHXgAAAAAAAAAAAKdmVjdG9yRGF0YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABABLAAAAAEAAQEsAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAAM1AAAABgAAAAAAAAAAAAAC8wAABXkAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAV5AAAC8wAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAC8wAAAABSZ2h0bG9uZwAABXkAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAvMAAAAAUmdodGxvbmcAAAV5AAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAThCSU0EDAAAAAAKFQAAAAEAAACgAAAAVgAAAeAAAKFAAAAJ+QAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAVgCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDIT
|
|||
|
|