Slide 1

Slide 1 text

Gitlab Runner for CI/CD DevOps Workshop Day III

Slide 2

Slide 2 text

Continuous Integration / Deployment

Slide 3

Slide 3 text

Warm Up What’s the current development process? What’s the current build process? What’s the current deployment process?

Slide 4

Slide 4 text

FutureWorkz Flow - Problems?

Slide 5

Slide 5 text

- Source code version conflicts between SCM servers. - Developers have direct access to production servers. - Difficult deployment errors debugging. Foreseen problems

Slide 6

Slide 6 text

Continuous Integration

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

FutureWorkz revised workflow

Slide 9

Slide 9 text

1. Automate deployment process. 2. Centralized source code repository: GitLab. 3. Continuous Deployment Toolchain: GitLab CI and Runner. 4. Coder has no access to production server. 5. Coder writes the deployment script. 6. Sysadmin only monitors the servers. 7. Coder writes documentation. Futureworkz CI/CD Workflow

Slide 10

Slide 10 text

Deployment Automation Build and Release will be now triggered when you push to staging/master branch.

Slide 11

Slide 11 text

Single Repository GitLab is the single repository of every project.

Slide 12

Slide 12 text

Gitlab CI and Runners CI monitors the builds. Runners will be executing the builds.

Slide 13

Slide 13 text

Coder no server access - Easy server access management. - Easy project handovers.

Slide 14

Slide 14 text

Deployment Script Coders write the deployment scripts. SysAdmins write the provision scripts.

Slide 15

Slide 15 text

Sysadmin monitor the server And coders manage the development and deployment. - Debug - Request packages installation. - So on.

Slide 16

Slide 16 text

Documentation Documentation is needed for every project. Documentation includes the following info: - Technologies used in that project (database system, background job, etc.) - Test run instruction. - Production environment description. - Environment Variables.

Slide 17

Slide 17 text

GitLab CI and Runner

Slide 18

Slide 18 text

GitLab CI To build, test and deploy your code. - Integrated in GitLab. - Free and open source. - Scalable.

Slide 19

Slide 19 text

GitLab Runner An application which processes builds. Deployed separately and works with GitLab CI through an API.

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

.gitlab-ci.yml Project configuration. Define the set of jobs to be done. Written in YAML.

Slide 22

Slide 22 text

DIY

Slide 23

Slide 23 text

Try Gitlab CI Executing a simple ruby test on CI and get build passed.

Slide 24

Slide 24 text

questions?