update from sparkleup

This commit is contained in:
Madison Scott-Clary 2022-06-30 08:40:12 -07:00
parent ac92658e97
commit 09b775f503
1 changed files with 2 additions and 2 deletions

View File

@ -15,13 +15,13 @@
<h1 id="how-to-set-up-cicd-with-drone-ci-and-gitea">How To Set Up CI/CD with Drone CI and Gitea</h1> <h1 id="how-to-set-up-cicd-with-drone-ci-and-gitea">How To Set Up CI/CD with Drone CI and Gitea</h1>
<p>In the process of developing and releasing software, one of the most useful tools at a developer&rsquo;s disposal is a solution that performs <strong>continuous integration</strong> and <strong>continuous deployment</strong>, or <strong>CI/CD</strong>.</p> <p>In the process of developing and releasing software, one of the most useful tools at a developer&rsquo;s disposal is a solution that performs <strong>continuous integration</strong> and <strong>continuous deployment</strong>, or <strong>CI/CD</strong>.</p>
<p>Continuous integration (CI) refers to the practice of multiple developers merging their changes to a codebase back into the main branch often, perhaps daily or even more frequently, relying on smaller chunks of work that are more easily reviewed to and tested during the process of development. In order to ensure that these changes don&rsquo;t leave the main branch in a broken state, a tool that helps with continuous integration will often include functionality that runs test suites within the software package. When a developer proposes a merge of their work back into the main branch, the tests will run automatically and report back whether or not they pass, which may mean that the code is not ready to land.</p> <p>Continuous integration (CI) refers to the practice of multiple developers merging their changes to a codebase back into the main branch often, perhaps daily or even more frequently, relying on smaller chunks of work that are more easily reviewed to and tested during the process of development. In order to ensure that these changes don&rsquo;t leave the main branch in a broken state, a tool that helps with continuous integration will often include functionality that runs test suites within the software package. When a developer proposes a merge of their work back into the main branch, the tests will run automatically and report back whether or not they pass, which may mean that the code is not ready to land.</p>
<p>Continuous deployment or continuous delibery (CD) refers to the idea that changes to code &mdash; whether they&rsquo;re security patches, bug fixes, or new features &mdash; be released quickly and seamlessly to the end users of the application. In the case of applications that the user runs, this will mean a frequent release schedule, offering incremental improvements to the software they are using. In the case of a service such as a website, this will mean frequent deployments of the new features in the code to the site so that the user&rsquo;s experience is continuously improving.</p> <p>Continuous deployment or continuous delivery (CD) refers to the idea that changes to code &mdash; whether they&rsquo;re security patches, bug fixes, or new features &mdash; be released quickly and seamlessly to the end users of the application. In the case of applications that the user runs, this will mean a frequent release schedule, offering incremental improvements to the software they are using. In the case of a service such as a website, this will mean frequent deployments of the new features in the code to the site so that the user&rsquo;s experience is continuously improving.</p>
<p>There are several tools that can help with CI/CD. These run as their own web services, which work with many source code management (SCM) systems to perform these tasks automatically. <a href="https://drone.io">Drone</a> is one such solution, that provides a way of executing <strong>pipelines</strong> &mdash; sets of steps that the service will run through such as building the software and running tests &mdash; that are described in the code itself. Drone is a flexible CI/CD tool that can perform this on many different types of <strong>runners</strong>, containers or machines where the project can be repeatably built.</p> <p>There are several tools that can help with CI/CD. These run as their own web services, which work with many source code management (SCM) systems to perform these tasks automatically. <a href="https://drone.io">Drone</a> is one such solution, that provides a way of executing <strong>pipelines</strong> &mdash; sets of steps that the service will run through such as building the software and running tests &mdash; that are described in the code itself. Drone is a flexible CI/CD tool that can perform this on many different types of <strong>runners</strong>, containers or machines where the project can be repeatably built.</p>
<p>This tutorial aims to show how Drone can integrate with the source code management tool Gitea in order to offer fully self-hosted solutions for SCM and CI/CD. You will be installing Drone, connecting it with Gitea, and creating a sample project for Drone to run tests on in order to see how the two services work together.</p> <p>This tutorial aims to show how Drone can integrate with the source code management tool Gitea in order to offer fully self-hosted solutions for SCM and CI/CD. You will be installing Drone, connecting it with Gitea, and creating a sample project for Drone to run tests on in order to see how the two services work together.</p>
<h3 id="prerequisites">Prerequisites</h3> <h3 id="prerequisites">Prerequisites</h3>
<p>In order to complete this tutorial, you will need the following:</p> <p>In order to complete this tutorial, you will need the following:</p>
<ul> <ul>
<li>An installation of Gitea. For more on how to set this up, see the <a href="https://www.digitalocean.com/community/tutorials/how-to-install-gitea-on-ubuntu-using-docker">How To Install Gitea on Ubuntu Using Docker</a> tutorial. <!--expand?--></li> <li>An installation of Gitea. For more on how to set up your own self-hosted Git SCM, see the <a href="https://www.digitalocean.com/community/tutorials/how-to-install-gitea-on-ubuntu-using-docker">How To Install Gitea on Ubuntu Using Docker</a> tutorial.</li>
<li>An Ubuntu 20.04 server with a non-root user configured with sudo privileges as described in the <a href="https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04">initial server setup for Ubuntu 20.04</a>.</li> <li>An Ubuntu 20.04 server with a non-root user configured with sudo privileges as described in the <a href="https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04">initial server setup for Ubuntu 20.04</a>.</li>
<li>Docker installed on your server. Follow <strong>Steps 1 and 2</strong> of <a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04">How to Install Docker on Ubuntu 20.04</a> to install Docker.</li> <li>Docker installed on your server. Follow <strong>Steps 1 and 2</strong> of <a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04">How to Install Docker on Ubuntu 20.04</a> to install Docker.</li>
<li>Docker Compose installed on your server. Follow <strong>Step 1</strong> of our guide on <a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04#step-1-installing-docker-compose">How to Install and Use Docker Compose on Ubuntu 20.04</a> to set this up.</li> <li>Docker Compose installed on your server. Follow <strong>Step 1</strong> of our guide on <a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04#step-1-installing-docker-compose">How to Install and Use Docker Compose on Ubuntu 20.04</a> to set this up.</li>