GithubHelp home page GithubHelp logo

continuous-integration-circle's Introduction

Hello there, I'm a software developer working on open-source projects. If you find my work helpful, consider supporting me. You can make a donation through PayPal or Buy Me A Coffee. Your support is greatly appreciated!

Donate via PayPal PayPal Donation

Buy me a coffee from BuyMeACoffee ;)Buy Me A Coffee

continuous-integration-circle's People

Contributors

a-a-ron avatar caglarorhan avatar github-learning-lab[bot] avatar githubteacher avatar

Watchers

 avatar

continuous-integration-circle's Issues

Continuous deployment

Our workflow is looking pretty good! We have now set up some automated tests for any new changes. We can go one step further and add continuous deployment to our workflow.

What is Continuous Deployment?

Continuous Deployment, or CD, is an extended step that builds from the automation in CI. CD is automation at various stages, deploying new changes to the different environment.

The goal of CD is to reduce the time it takes to finish a project. Automation provides shorter feedback loops. This could look like faster testing cycles, or faster deployment and user feedback.

There are several ways to deploy your code changes. For this repository, we'll deploy with GitHub Pages. If you'd like to learn more about GitHub Pages, there are a few learning lab courses you might be interested in.

When deploying with GitHub Pages, you can choose to deploy from several locations. We're going to deploy from the /docs directory of this repository. This will deploy only the contents of the /docs directory.

Step 12: Deploy

Whenever there is a new commit on master, GitHub pages will deploy.

⌨️ Activity: Enable GitHub pages to deploy

  1. Navigate to the Settings tab.
  2. Under GitHub pages, set the source to master branch and click Save.

I'll respond below for your next steps.

Welcome

Welcome

In this repository, we'll be diving into the world of Continuous Integration. Continuous Integration, or CI, can benefit your projects and change how you work on GitHub. If you're new to Continuous Integration, you may be thinking, "What exactly is it, and do I need it in my project?"

What is CI? Why should you care?

CI can help you stick to your team’s quality standards by running tests and reporting the results on GitHub. CI tools run builds and tests, triggered by commits. The results post back to GitHub in the pull request. This reduces context switching for developers, and improves consistency for testing. The goal is fewer bugs in production and faster feedback while developing.

There are several CI providers that integrate with GitHub. You can find some examples in the GitHub Marketplace. With so many options, you can pick the best tool for the job.

The following diagram shows the relative percentage of the top 10 CI tools used with GitHub.com.

image

Our analysis also shows that many repositories use more than one CI service. This allows individuals within teams to use their favorites, instead of feeling stuck on one option.

The tools that will work best for your project depend on many factors, including:

  • Programming language and application architecture
  • Operating system and browsers you plan to support
  • Your team’s experience and skills
  • Scaling capabilities and plans for growth
  • Geographic distribution of dependent systems and the people who use them
  • Packaging and delivery goals

Using CI and Learning Lab

In other courses, you may have noticed that some actions take me longer to respond to than others. In this course, many of the actions will be related to builds. Those builds sometimes take longer to build, up to several minutes. Don't be concerned if I take a few minutes to respond, or if I respond too quickly. Sometimes, I'll let you know what the build will say before it finishes! Please wait for the builds to finish before moving on to your next step.

Step 1: Enable Continuous Integration

Ready to see how CI can fit into your workflow? Let's install CircleCI, and start our very first CI build!

Note: When you integrate with other services, private repositories may have additional costs. You can change the publicity of your repository in the Settings on GitHub.

⌨️ Activity: Enable CircleCI and run your first build

  1. Navigate to CircleCI's sign in page in a separate tab.
  2. Sign in with GitHub and set up a build on CircleCI for this repository. You can ignore the prompts to add a config.yml file, as I'll add one for you in just a moment.
  3. Under the ADD PROJECTS option in the side-bar menu, click the Set up Project button next to the continuous-integration-circle project.
    Can't find your repository? Make sure you select your username from the drop-down on the top left. organization selection on CircleCI
  4. Click the Start building button on step 5.

If the build is queued for a long period of time, I recommend to click Cancel Job and click Rebuild.


I'll respond below for your next step

I'll need to wait for the CircleCI build status to complete before I will respond. If you don't see my response after the build completes, wait a few seconds and refresh the page for your next steps.

Congratulations

Nice work

celebrate

Congratulations @caglarorhan, you've completed this course!

Your project is now live and deployed here!

Before we finish, let's review everything you completed in this course repository:

  • Identified when a project is using continuous integration
  • Learned the definition of continuous integration and why it is important
  • Setup continuous integration on a project repository
  • Setup protected branches based on a build status from CircleCI
  • Learned how to customize your CircleCI builds
  • Added unit tests
  • Learned the definition of continuous deployment and why it is important
  • Setup continuous deployment by enabling GitHub pages on your project

What's next?

There's so much more you can do with continuous integration, and you have a solid start. Now...what will you learn next?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.