CI/CD Assignment & Excercise

  • What is Continuous Integration?
  • What is Continuous Deployment?
  • Can you describe an example of a CI (and/or CD) process starting the moment a developer submitted a change/PR to a repository?
  • What is Continuous Delivery?
  • What is difference between Continuous Delivery and Continuous Deployment?
  • What CI/CD best practices are you familiar with? Or what do you consider as CI/CD best practice?
  • You are given a pipeline and a pool with 3 workers: virtual machine, baremetal and a container. How will you decide on which one of them to run the pipeline?
  • Where do you store CI/CD pipelines? Why?
  • How do you perform plan capacity for your CI/CD resources? (e.g. servers, storage, etc.)
  • How would you structure/implement CD for an application which depends on several other applications?
  • How do you measure your CI/CD quality? Are there any metrics or KPIs you are using for measuring the quality?
  • What is Jenkins? What have you used it for?
  • What are the advantages of Jenkins over its competitors? Can you compare it to one of the following systems?
    Travis
    Bamboo
    Teamcity
    CircleCI
  • What are the limitations or disadvantages of Jenkins?
    Explain the following:
    Job
    Build
    Plugin
    Node or Worker
    Executor
  • What plugins have you used in Jenkins?
  • Have you used Jenkins for CI or CD processes? Can you describe them?
  • What type of jobs are there? Which types have you used?
  • How did you report build results to users? What ways are there to report the results?
  • You need to run unit tests every time a change submitted to a given project. Describe in details how your pipeline would look like and what will be executed in each stage
  • How to secure Jenkins?
  • Describe how do you add new nodes (agents) to Jenkins
  • How to acquire multiple nodes for one specific build?
  • Whenever a build fails, you would like to notify the team owning the job regarding the failure and provide failure reason. How would you do that?
  • There are four teams in your organization. How to prioritize the builds of each team? So the jobs of team x will always run before team y for example
  • If you are managing a dozen of jobs, you can probably use the Jenkins UI. But how do you manage the creation and deletion of hundreds of jobs every week/month?
  • What are some of Jenkins limitations?
  • What is the different between a scripted pipeline to declarative pipeline? Which type are you using?
  • How would you implement an option of a starting a build from a certain stage and not from the beginning?
  • Do you have experience with developing a Jenkins plugin? Can you describe this experience?
  • Have you written Jenkins scripts? If yes, what for and how they work?
  • What is a Workflow in GitHub Actions?
  • What is a Runner in GitHub Actions?
  • What is a Job in GitHub Actions?
  • What is an Action in GitHub Actions?
  • In GitHub Actions workflow, what the ‘on’ attribute/directive is used for?
  • True or False? In Github Actions, jobs are executed in parallel by deafult
  • How to create dependencies between jobs so one job runs after another?
  • How to add a Workflow to a repository?
Rajesh Kumar
Follow me
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x