SlideShare a Scribd company logo
Submit Search
Upload
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
Report
Share
Phil Wilkins
Cloud Developer Evangelist (Author & Oracle Ace Director Alumni) at Oracle
Follow
•
1 like
•
2,164 views
1
of
39
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
•
1 like
•
2,164 views
Report
Share
Software
Takes a look at the use of GitHub runners and the deployment of runners on Oracle Cloud
Read more
Phil Wilkins
Cloud Developer Evangelist (Author & Oracle Ace Director Alumni) at Oracle
Follow
Recommended
Oracle ACFS High Availability NFS Services (HANFS) Part-I by
Oracle ACFS High Availability NFS Services (HANFS) Part-I
Anju Garg
3.6K views
•
8 slides
Oracle ACFS High Availability NFS Services (HANFS) by
Oracle ACFS High Availability NFS Services (HANFS)
Anju Garg
21.8K views
•
99 slides
Oracle Cloud With Azure DevOps Pipelines by
Oracle Cloud With Azure DevOps Pipelines
Johan Louwers
1.8K views
•
26 slides
Automate the operation of your Oracle Cloud infrastructure v2.0 by
Automate the operation of your Oracle Cloud infrastructure v2.0
Nelson Calero
899 views
•
60 slides
Enterprise manager 13c by
Enterprise manager 13c
MarketingArrowECS_CZ
2.9K views
•
113 slides
Why oracle data guard new features in oracle 18c, 19c by
Why oracle data guard new features in oracle 18c, 19c
Satishbabu Gunukula
1.7K views
•
20 slides
More Related Content
What's hot
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート by
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
オラクルエンジニア通信
259 views
•
107 slides
Smart monitoring how does oracle rac manage resource, state ukoug19 by
Smart monitoring how does oracle rac manage resource, state ukoug19
Anil Nair
1.7K views
•
55 slides
What's new in Oracle 19c & 18c Recovery Manager (RMAN) by
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
Satishbabu Gunukula
827 views
•
22 slides
Data Guard Architecture & Setup by
Data Guard Architecture & Setup
Satishbabu Gunukula
31.4K views
•
61 slides
Scaling paypal workloads with oracle rac ss by
Scaling paypal workloads with oracle rac ss
Anil Nair
1.1K views
•
38 slides
En rhel-deploy-oracle-rac-database-12c-rhel-7 by
En rhel-deploy-oracle-rac-database-12c-rhel-7
Rotua Damanik
1.3K views
•
117 slides
What's hot
(20)
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート by オラクルエンジニア通信
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
オラクルエンジニア通信
•
259 views
Smart monitoring how does oracle rac manage resource, state ukoug19 by Anil Nair
Smart monitoring how does oracle rac manage resource, state ukoug19
Anil Nair
•
1.7K views
What's new in Oracle 19c & 18c Recovery Manager (RMAN) by Satishbabu Gunukula
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
Satishbabu Gunukula
•
827 views
Data Guard Architecture & Setup by Satishbabu Gunukula
Data Guard Architecture & Setup
Satishbabu Gunukula
•
31.4K views
Scaling paypal workloads with oracle rac ss by Anil Nair
Scaling paypal workloads with oracle rac ss
Anil Nair
•
1.1K views
En rhel-deploy-oracle-rac-database-12c-rhel-7 by Rotua Damanik
En rhel-deploy-oracle-rac-database-12c-rhel-7
Rotua Damanik
•
1.3K views
Container security by Anthony Chow
Container security
Anthony Chow
•
1.2K views
Understanding oracle rac internals part 1 - slides by Mohamed Farouk
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
•
4.3K views
Operating PostgreSQL at Scale with Kubernetes by Jonathan Katz
Operating PostgreSQL at Scale with Kubernetes
Jonathan Katz
•
2.7K views
Backup and recovery in oracle by sadegh salehi
Backup and recovery in oracle
sadegh salehi
•
4.1K views
New Features for Multitenant in Oracle Database 21c by Markus Flechtner
New Features for Multitenant in Oracle Database 21c
Markus Flechtner
•
91 views
Virtualization Architecture & KVM by Pradeep Kumar
Virtualization Architecture & KVM
Pradeep Kumar
•
33.4K views
Oracle Enterprise Manager Cloud Control 13c for DBAs by Gokhan Atil
Oracle Enterprise Manager Cloud Control 13c for DBAs
Gokhan Atil
•
33.1K views
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング by オラクルエンジニア通信
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
オラクルエンジニア通信
•
13.3K views
Oracle Active Data Guard: Best Practices and New Features Deep Dive by Glen Hawkins
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Glen Hawkins
•
520 views
Understanding Oracle RAC 11g Release 2 Internals by Markus Michalewicz
Understanding Oracle RAC 11g Release 2 Internals
Markus Michalewicz
•
7.7K views
Datastage Introduction To Data Warehousing by Vibrant Technologies & Computers
Datastage Introduction To Data Warehousing
Vibrant Technologies & Computers
•
1.6K views
Oracle Database Migration to Oracle Cloud Infrastructure by SinanPetrusToma
Oracle Database Migration to Oracle Cloud Infrastructure
SinanPetrusToma
•
1.2K views
Rman Presentation by Rick van Ek
Rman Presentation
Rick van Ek
•
5.5K views
Cloning Oracle EBS R12: A Step by Step Procedure by Orazer Technologies
Cloning Oracle EBS R12: A Step by Step Procedure
Orazer Technologies
•
730 views
Similar to GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps by
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Weaveworks
245 views
•
37 slides
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps by
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Sonja Schweigert
62 views
•
37 slides
CI/CD with Github Actions by
CI/CD with Github Actions
Md. Minhazul Haque
412 views
•
20 slides
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808 by
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Cisco DevNet
219 views
•
47 slides
Introduction to GitHub Actions – How to easily automate and integrate with Gi... by
Introduction to GitHub Actions – How to easily automate and integrate with Gi...
All Things Open
125 views
•
51 slides
Set up a Development Environment in 5 Minutes by
Set up a Development Environment in 5 Minutes
Akamai Developers & Admins
227 views
•
28 slides
Similar to GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
(20)
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps by Weaveworks
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Weaveworks
•
245 views
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps by Sonja Schweigert
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Sonja Schweigert
•
62 views
CI/CD with Github Actions by Md. Minhazul Haque
CI/CD with Github Actions
Md. Minhazul Haque
•
412 views
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808 by Cisco DevNet
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Cisco DevNet
•
219 views
Introduction to GitHub Actions – How to easily automate and integrate with Gi... by All Things Open
Introduction to GitHub Actions – How to easily automate and integrate with Gi...
All Things Open
•
125 views
Set up a Development Environment in 5 Minutes by Akamai Developers & Admins
Set up a Development Environment in 5 Minutes
Akamai Developers & Admins
•
227 views
Open up your platform with Open Source and GitHub by Scott Graham
Open up your platform with Open Source and GitHub
Scott Graham
•
1.3K views
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf by prune1
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
prune1
•
29 views
[Devopsdays2021] Roll Your Product with Kaizen Culture by Woohyeok Kim
[Devopsdays2021] Roll Your Product with Kaizen Culture
Woohyeok Kim
•
517 views
CI-CD Jenkins, GitHub Actions, Tekton by Araf Karsh Hamid
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
•
1.2K views
Introduction to GitHub Actions by All Things Open
Introduction to GitHub Actions
All Things Open
•
31 views
Introduction to GitHub Actions - How to easily automate and integrate with Gi... by All Things Open
Introduction to GitHub Actions - How to easily automate and integrate with Gi...
All Things Open
•
109 views
Cloud native - CI/CD by Elad Hirsch
Cloud native - CI/CD
Elad Hirsch
•
101 views
Flux is incubating + the road ahead by LibbySchulze
Flux is incubating + the road ahead
LibbySchulze
•
290 views
Docker and Jenkins [as code] by Mark Waite
Docker and Jenkins [as code]
Mark Waite
•
486 views
Intro to GitHub Actions by All Things Open
Intro to GitHub Actions
All Things Open
•
187 views
Bring-your-ML-Project-into-Production-v2.pdf by Liang Yan
Bring-your-ML-Project-into-Production-v2.pdf
Liang Yan
•
31 views
OSCONF - April 2021 - Run GitHub Actions Locally with nektos/act and Docker by Gaurav Gahlot
OSCONF - April 2021 - Run GitHub Actions Locally with nektos/act and Docker
Gaurav Gahlot
•
114 views
Gitlab ci e kubernetes, build test and deploy your projects like a pro by sparkfabrik
Gitlab ci e kubernetes, build test and deploy your projects like a pro
sparkfabrik
•
3.2K views
Microservices development at scale by Vishal Banthia
Microservices development at scale
Vishal Banthia
•
521 views
More from Phil Wilkins
API Design – More than just a Payload Definition by
API Design – More than just a Payload Definition
Phil Wilkins
942 views
•
39 slides
Is 12 Factor App Right About Logging by
Is 12 Factor App Right About Logging
Phil Wilkins
350 views
•
30 slides
APIs, STOP Polling, lets go Streaming by
APIs, STOP Polling, lets go Streaming
Phil Wilkins
60 views
•
23 slides
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme... by
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Phil Wilkins
118 views
•
24 slides
Oracle OCI APIs and SDK by
Oracle OCI APIs and SDK
Phil Wilkins
218 views
•
17 slides
Api more than payload (2021 Update) by
Api more than payload (2021 Update)
Phil Wilkins
67 views
•
29 slides
More from Phil Wilkins
(20)
API Design – More than just a Payload Definition by Phil Wilkins
API Design – More than just a Payload Definition
Phil Wilkins
•
942 views
Is 12 Factor App Right About Logging by Phil Wilkins
Is 12 Factor App Right About Logging
Phil Wilkins
•
350 views
APIs, STOP Polling, lets go Streaming by Phil Wilkins
APIs, STOP Polling, lets go Streaming
Phil Wilkins
•
60 views
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme... by Phil Wilkins
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Phil Wilkins
•
118 views
Oracle OCI APIs and SDK by Phil Wilkins
Oracle OCI APIs and SDK
Phil Wilkins
•
218 views
Api more than payload (2021 Update) by Phil Wilkins
Api more than payload (2021 Update)
Phil Wilkins
•
67 views
API more than payload by Phil Wilkins
API more than payload
Phil Wilkins
•
1.3K views
How fluentd fits into the modern software landscape by Phil Wilkins
How fluentd fits into the modern software landscape
Phil Wilkins
•
983 views
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20 by Phil Wilkins
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
Phil Wilkins
•
1.1K views
FluentD for end to end monitoring by Phil Wilkins
FluentD for end to end monitoring
Phil Wilkins
•
1.1K views
Meetups - The Oracle Ace Way by Phil Wilkins
Meetups - The Oracle Ace Way
Phil Wilkins
•
879 views
Apiary - A Developers Perspective by Phil Wilkins
Apiary - A Developers Perspective
Phil Wilkins
•
1.1K views
Secrets of Custom API Policies on the Oracle API Platform by Phil Wilkins
Secrets of Custom API Policies on the Oracle API Platform
Phil Wilkins
•
1.2K views
Terraform by Phil Wilkins
Terraform
Phil Wilkins
•
1.1K views
Oracle London Developer Meetup November 2018 by Phil Wilkins
Oracle London Developer Meetup November 2018
Phil Wilkins
•
742 views
London Oracle Developer Meetup - June 18 - Drones with APIs by Phil Wilkins
London Oracle Developer Meetup - June 18 - Drones with APIs
Phil Wilkins
•
126 views
London Oracle Developer Meetup April 18 by Phil Wilkins
London Oracle Developer Meetup April 18
Phil Wilkins
•
420 views
Oracle Developer Meetup March 2018 by Phil Wilkins
Oracle Developer Meetup March 2018
Phil Wilkins
•
1.1K views
OracleDeveloperMeetup - London 19-12-17 by Phil Wilkins
OracleDeveloperMeetup - London 19-12-17
Phil Wilkins
•
907 views
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case... by Phil Wilkins
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Phil Wilkins
•
18.7K views
Recently uploaded
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok
11 views
•
55 slides
tecnologia18.docx by
tecnologia18.docx
nosi6702
5 views
•
5 slides
Keep by
Keep
Geniusee
78 views
•
10 slides
Airline Booking Software by
Airline Booking Software
SharmiMehta
6 views
•
26 slides
Introduction to Git Source Control by
Introduction to Git Source Control
John Valentino
5 views
•
18 slides
Top-5-production-devconMunich-2023.pptx by
Top-5-production-devconMunich-2023.pptx
Tier1 app
8 views
•
40 slides
Recently uploaded
(20)
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok
•
11 views
tecnologia18.docx by nosi6702
tecnologia18.docx
nosi6702
•
5 views
Keep by Geniusee
Keep
Geniusee
•
78 views
Airline Booking Software by SharmiMehta
Airline Booking Software
SharmiMehta
•
6 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source Control
John Valentino
•
5 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptx
Tier1 app
•
8 views
Agile 101 by John Valentino
Agile 101
John Valentino
•
9 views
The Era of Large Language Models.pptx by AbdulVahedShaik
The Era of Large Language Models.pptx
AbdulVahedShaik
•
7 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin9
•
6 views
Unleash The Monkeys by Jacob Duijzer
Unleash The Monkeys
Jacob Duijzer
•
8 views
EV Charging App Case by iCoderz Solutions
EV Charging App Case
iCoderz Solutions
•
8 views
360 graden fabriek by info33492
360 graden fabriek
info33492
•
138 views
WebAssembly by Jens Siebert
WebAssembly
Jens Siebert
•
52 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India
Fleetable
•
12 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi2
•
15 views
Introduction to Maven by John Valentino
Introduction to Maven
John Valentino
•
6 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Ra'Fat Al-Msie'deen
•
8 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik
•
8 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke
•
35 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy
•
14 views
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
1.
November 2021 IMPLEMENTING GITHUB ACTION
HANDLERS ON OCI Phil Wilkins Tech Evangelist & Ace Director Phil.Wilkins@capgemini.com uk.linkedin.com/in/philWilkins @MP3Monster blog.mp3monster.org / phil-wilkins.uk Oracle-integration.cloud /
2.
Presentation Title |
Author | Date 2 © Capgemini . 2021. All rights reserved | THE ABOUT ME … https://blog.mp3monster.org/ publication-contributions/ Me in 5: • Husband, Father, Blogger & Author • Technical Architect, Tech Evangelist • Work for Capgemini UK as part of a multi award winning team • Work with primarily open source + Oracle middleware • Know more – mp3monster.org https://bit.ly/FluentdBook https://bit.ly/ImplementingAPI https://oracle-integration.cloud
3.
Presentation Title |
Author | Date 3 © Capgemini . 2021. All rights reserved | CAPGEMINI IS ONE OF THE WORLD'S LARGEST CONSULTING, TECHNOLOGY, AND OUTSOURCING FIRMS & A GLOBAL “FULL SERVICE” BUSINESS TRANSFORMATION PROVIDER Group Workforce: 200,000+ Globally Asia Pacific Latin America Canada United States Mexico Brazil Argentina Europe Morocco Australia People’s Republic of China India Chile Guatemala Russia Singapore Hong Kong North America UK & Ireland Nordics Benelux “It is the quality of our people, and their capacity to deliver fitting solutions, with you and for you, that drive real business results.” Across 40+ countries, 100 nationalities 5Businesses Revenue 12,8 Billion EUR (2017) Central Europe Morocco Net Profit €1,18B Targeting Value Mitigating Risk Optimising Capabilities Aligning the Organisation Elements to successful collaboration Application Services Infrastructure Services Business Process Outsourcing Consulting (Capgemini Consulting) Local Professional 4
4.
INTRODUCING GIT HUB PIPELINES
5.
Presentation Title |
Author | Date 5 © Capgemini . 2021. All rights reserved | Flow of GitHub Actions Like Jenkins but different … • Jenkins has slaves • Jenkins slave most likely run the entire pipeline • Here more likely to break pipeline up • Ability to make highly parallelized
6.
Presentation Title |
Author | Date 6 © Capgemini . 2021. All rights reserved | Workers for Github Actions 1 GitHub can provide runners (with a cost) • Runs on Azure • Some limitations in runner options • More secure as GitHub Azure hidden from the internet
7.
Presentation Title |
Author | Date 7 © Capgemini . 2021. All rights reserved | On-Prem Workers for Github Actions 2 Can deploy to different runners in different locations. • Possibilities for Bandwidth burst for example • GitHub Enterprise enables on-prem repos
8.
Presentation Title |
Author | Date 8 © Capgemini . 2021. All rights reserved | Workers for Github Actions 3 Runner setups are provided for major cloud providers, but other clouds possible
9.
Presentation Title |
Author | Date 9 © Capgemini . 2021. All rights reserved | Workers for Github Actions 4 • Oracle provides a prebuilt runner • Lots of resources on using GitHub Actions through Oracle Developer community channels
10.
Presentation Title |
Author | Date 10 © Capgemini . 2021. All rights reserved | ? Network security Workers for Github Actions This is HTTP traffic over NET going to the worker node – need to consider security BAU for the developer. Managing traffic into GitHub will need good control – avoid unwanted content as it can cascade to our workers. New job work flow, retuning results HTTPS Flow Key
11.
How it changes
a pipeline PIPELINE IN GITHUB ACTIONS
12.
Presentation Title |
Author | Date 12 © Capgemini . 2021. All rights reserved | Java Pipeline Promote to Next stage Fail build Code prepository Branching / Release strategy e.g. GitFlow Static security scan e.g. password/token search Dependency Mgmt & 3rd Party Sourcing Ensuring dependencies ok, source from accepted source Checked for malicious content Compile Create JAR Sign artefact Static Code Analysis Coding errors, coding style Unit Testing Unit test, capture code coverage API Testing Test as an API provider and /or as a consumer User Experience & Performance Test for user workflow & performance Dynamic Security Testing Test code for classic errors Package for containers Check packaging for quality & security Sign artefacts Add to trusted registry Store in registry to use at next level Generate documentation Build / update documentation directly from the source coide In the ideal world a Java development pipeline might look like …
13.
Presentation Title |
Author | Date 13 © Capgemini . 2021. All rights reserved | We might want multiple pipelines for different technologies… We could get GitHub to trigger a monolithic pipeline – but the communicating back outcomes – not so easy Our pipelines will be staged…
14.
Presentation Title |
Author | Date 14 © Capgemini . 2021. All rights reserved | Promote to Next stage Fail build Granular Pipeline for GitHub? We could make the tasks very granular – each step of the pipeline … Best is probably a middle ground…
15.
Presentation Title |
Author | Date 15 © Capgemini . 2021. All rights reserved | Promote to Next stage Fail build Granular Pipeline for GitHub? We could make the tasks very granular – each step of the pipeline … Best is probably a middle ground…
16.
CONFIGURING ACTIONS
17.
Presentation Title |
Author | Date 17 © Capgemini . 2021. All rights reserved | 1. Get a GitHub runner resources … 1. registration token from the repo 2. Setup SSH key to be used by both ends – keygen or website like https://8gwifi.org/sshfunctions.jsp# 2. Create a configuration for our worker node(s) • Options – Terraform + Ansible to create environment – Preconfigured cloud stack from Oracle (Arm Runner )- https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-quickstart/oci-github-actions- runner/releases/download/orm-deploy/orm.zip 3. Ensure all the necessary additional components are installed on the worker node – Benefit of the Terraform + Ansible route is that will be incorporated into the process – Using steps in a Action 4. Configure the GitHub Action 5. Trigger 6. Review runner response information To get our pipeline working … IMPLEMENTING A GITHUB ACTION …
18.
Presentation Title |
Author | Date 18 © Capgemini . 2021. All rights reserved | Step 1.1
19.
Presentation Title |
Author | Date 19 © Capgemini . 2021. All rights reserved | Step 1.2
20.
Presentation Title |
Author | Date 20 © Capgemini . 2021. All rights reserved | Step 2.1 Follow the link to jump into the Stack tool with the correct image
21.
Presentation Title |
Author | Date 21 © Capgemini . 2021. All rights reserved | Step 2.2
22.
Presentation Title |
Author | Date 22 © Capgemini . 2021. All rights reserved | Step 2.3
23.
Presentation Title |
Author | Date 23 © Capgemini . 2021. All rights reserved | Step 2.4
24.
Presentation Title |
Author | Date 24 © Capgemini . 2021. All rights reserved | Step 2.5
25.
Presentation Title |
Author | Date 25 © Capgemini . 2021. All rights reserved | Step 2.6
26.
Presentation Title |
Author | Date 26 © Capgemini . 2021. All rights reserved | Step 2.7
27.
Presentation Title |
Author | Date 27 © Capgemini . 2021. All rights reserved | Step 2.8
28.
Presentation Title |
Author | Date 28 © Capgemini . 2021. All rights reserved | CONFIGURING ACTIONS
29.
Presentation Title |
Author | Date 29 © Capgemini . 2021. All rights reserved | Repo Events Scheduled Manual Triggers - Event on a repository - push or pull - Fork - Comments - Deployment events - Actions can be linked to head or branch(es) - Schedule can be defined using the POSIX cron syntax - https://crontab.guru/ - website to formulate cron schedules - Last editor of the schedule will be notified - Uses the API event workflow_dispatch – needs to be added to triggers OR - To make easy consider a gist to prepopulate values - Execute using a tool e.g. SoapUI GITHUB FLOW TRIGGERS on: push: branches: - main pull_request: branches: - main on: schedule: # * is a special character in YAML so you have to quote this string - cron: '30 5,17 * * *' on: workflow_dispatch : branches [main] Step 4.0
30.
Presentation Title |
Author | Date 30 © Capgemini . 2021. All rights reserved | PREBUILT TEMPLATES FOR COMMON NEEDS Step 4.0
31.
Presentation Title |
Author | Date 31 © Capgemini . 2021. All rights reserved | Step 4.1
32.
Presentation Title |
Author | Date 32 © Capgemini . 2021. All rights reserved | # This workflow will install Python dependencies, run tests and lint with a variety of Python versions name: Python package on: push: branches: [ main ] workflow_dispatch: branches: [ main ] # pull_request: # branches: [ main ] jobs: build: runs-on: oci strategy: fail-fast: false matrix: # python-version: [3.6, 3.7, 3.8, 3.9] python-version: [3.6] steps: - uses: actions/checkout@v2 - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names python -m flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide python -m flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | python -m pytest GITHUB ACTION 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Condition on which we will trigger the job and which parts of the code base We can set up the build to verify multiple versions of Python (does require all to be set up on the runner. The default runner used only has 1 version of Python Stops on the 1st error if set Step 4.1 Make sure the necessary tools are in place Provide a name for the next actions. Outputs split up using named steps We can link actions to operations on specific branches Command-line instruction for the Python lint tool (flake8) Command-line instruction for flake8 to perform complexity checks on the code Execute the pytest configuration in the repo Notation is YAML Execute local shell scripts
33.
Presentation Title |
Author | Date 33 © Capgemini . 2021. All rights reserved | Step 6.1 Denotes successful execution i.e. no steps have been failed Links to key operations such as run, and displays the associated name Content is a capture of stdout Console output from pytest When things fail in the CI process
34.
Presentation Title |
Author | Date 34 © Capgemini . 2021. All rights reserved | LOOKING BEYOND THE BASICS
35.
Presentation Title |
Author | Date 35 © Capgemini . 2021. All rights reserved | GitHub YAML also allows: • Retrieve files as artefacts to allow data sharing between jobs in the same workflow • Define dependencies between each job in a workflow • Define environment variables e.g. setting values for the app being tested such as port numbers • Store secrets and reference them using GitHub secrets feature e.g. passing passwords etc • Define services such as launching containers e.g. hosting a DB in a start state then dropping it for the next run • Develop reusable workflows – e.g. common workflow for a Java app and reuse across multiple Java applications Other features: • Allows the use of Bash Automated Testing System (BATS) and validation of BATS version (https://github.com/bats-core/bats-core) • Labelling to group runners to support certain Actions (e.g. link to the necessary hardware, or deployment location) • Extended security controls for Enterprise repositories OTHER MORE ADVANCED FEATURES
36.
Presentation Title |
Author | Date 36 © Capgemini . 2021. All rights reserved | 1. How do we provide a good developer experience – in terms of seeing test coverage and other analysis in a consumable visual manner? 2. What if someone commits malicious code into my repository? 3. Network security – access into our network from GitHub? 4. One monolithic development pipeline or more discrete jobs and orchestration in GitHub? 5. Runner clean-up – add IaC to teardown and replace runners? 6. Use GitLab CI/CD or GitHub Actions – similar, but not the same THINGS TO CONSIDER IN BUILDING A GITHUB ACTIONS PIPELINE
37.
Presentation Title |
Author | Date 37 © Capgemini . 2021. All rights reserved | The following are useful resources for working more with GitHub Actions • Git Hub Actions documentation - https://docs.github.com/en/actions/learn-github-actions • GitHub repository - https://github.com/actions • Blog - https://blog.mp3monster.org/2021/07/05/oracle-cloud-github-actions/ • Oracle Originated posts: • https://blog.kube-mesh.io/ci-cd-on-oracle-kubernetes-engine-using-github-action/ • https://blogs.oracle.com/cloud-infrastructure/post/announcing-github-actions-arm-runners-for-the-arm- compute-platform-on-oracle-cloud-infrastructure • https://blogs.oracle.com/developers/post/adventures-in-cicd-1-intro-getting-started-with-github-actions • Docker with GitHub Actions https://docs.docker.com/ci-cd/github-actions/ • Terraform with GitHub Actions https://learn.hashicorp.com/tutorials/terraform/github-actions USEFUL RESOURCES
38.
QUESTIONS?
39.
This presentation contains
information that may be privileged or confidential and is the property of the Capgemini Group. Copyright © 2021 Capgemini. All rights reserved. Capgemini is a global leader in partnering with companies to transform and manage their business by harnessing the power of technology. The Group is guided everyday by its purpose of unleashing human energy through technology for an inclusive and sustainable future. It is a responsible and diverse organization of 270,000 team members in nearly 50 countries. With its strong 50 year heritage and deep industry expertise, Capgemini is trusted by its clients to address the entire breadth of their business needs, from strategy and design to operations, fuelled by the fast evolving and innovative world of cloud, data, AI, connectivity, software, digital engineering and platforms. The Group reported in 2020 global revenues of €16 billion. About Capgemini Get the Future You Want | www.capgemini.com
Editor's Notes
Just a file in the GitHub repo
Has build to show
Lots of people view GitHub Actions as inferior to GitLab CICD
https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions
If ORDS is involved then should be considering Selenium Blue icon = utPLSQL