{"id":134861,"date":"2023-04-18T22:39:42","date_gmt":"2023-04-18T19:39:42","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=134861"},"modified":"2023-04-19T00:43:18","modified_gmt":"2023-04-18T21:43:18","slug":"install-use-onedev-self-hosted-git-server","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/install-use-onedev-self-hosted-git-server\/","title":{"rendered":"Install and Use OneDev &#8211; Self-hosted Git Server with Kanban and CI\/CD"},"content":{"rendered":"\n<p><strong>CI\/CD<\/strong> is an abbreviation for <strong><em>Continuous Integration<\/em><\/strong> and <strong><em>Continuous Delivery<\/em><\/strong> (or Deployment). This refers to a set of software development practices aimed at improving the efficiency and reliability of the software delivery process. <\/p>\n\n\n\n<p><strong><em>Continuous Integration<\/em><\/strong> (CI) is the practice of regularly integrating code changes into a shared repository to detect and resolve conflicts as early as possible. In this process, every time a developer commits code changes to the repository, an automated build and testing process is triggered to verify that the changes do not break the existing codebase. <\/p>\n\n\n\n<p><strong><em>Continuous Delivery<\/em><\/strong> (CD) or <strong><em>Continuous Deployment <\/em><\/strong>(CD) is the practice of automating the software delivery process to release new changes to the production environment quickly, reliably, and frequently. In this process, once the code changes pass the automated build and testing process, they are automatically deployed to a staging or production environment, where they are further tested and reviewed before being released to end users.<\/p>\n\n\n\n<p>The <strong>CI\/CD pipeline<\/strong> is the entire process of continuous integration and continuous delivery, including all the automated steps, from code, commit to deployment to production. The pipeline includes automated testing, code quality checks, packaging, deployment, and other steps that help ensure that software changes are thoroughly tested and ready for production release.<\/p>\n\n\n\n<p>There are many CI\/CD tools available to help software development teams automate and streamline their software delivery processes. Some popular CI\/CD tools include; Jenkins, Travis CI, CircleCI, GitLab CI\/CD, Bamboo, GitHub Actions, Azure DevOps e.t.c<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is OneDev?<\/h2>\n\n\n\n<p><strong>OneDev<\/strong> is a modern, open-source CI\/CD platform that provides a complete solution for software development and delivery. It allows software development teams to automate their software delivery process, from code commit to production deployment, with an easy-to-use interface and powerful automation features.<\/p>\n\n\n\n<p>OneDev supports multiple programming languages and frameworks, including Java, JavaScript, Python, and Ruby. It provides built-in support for popular development tools like Git, Jenkins, and Docker, and integrates with other popular tools like JIRA and Slack.<\/p>\n\n\n\n<p>OneDev has a web-based interface that is easy to use and provides a visual representation of the software delivery process, with real-time feedback on the status of builds and deployments. It also provides powerful analytics and reporting features, allowing teams to track their progress, identify bottlenecks, and optimize their software delivery process.<\/p>\n\n\n\n<p>There is a set of features for software development and delivery provided by OneDev. The most popular ones are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Code repository management<\/strong>: It provides a built-in <em>Git repository<\/em> management system, allowing teams to manage their codebase and collaborate on code changes.<\/li>\n\n\n\n<li><strong>Continuous integration<\/strong>: It allows teams to automate the build and testing of their applications with flexible build pipelines and support for parallel builds.<\/li>\n\n\n\n<li><strong>Continuous delivery<\/strong>: It supports automated deployment to multiple environments, including Kubernetes and Docker Swarm, with rollbacks and approval workflows.<\/li>\n\n\n\n<li><strong>Artefact management<\/strong>: It provides a built-in artefact repository, allowing teams to manage and version their binaries and other artefacts.<\/li>\n\n\n\n<li><strong>Environment management<\/strong>: OneDev allows teams to manage their development, staging, and production environments, with support for infrastructure as code tools like Terraform.<\/li>\n\n\n\n<li><strong>Release management<\/strong>: OneDev provides a built-in release management system, allowing teams to manage the release of their applications and track their progress.<\/li>\n\n\n\n<li><strong>Collaboration and communication<\/strong>: It provides support for collaboration and communication tools like JIRA, Slack, and Mattermost, allowing teams to work together more effectively.<\/li>\n\n\n\n<li><strong>Analytics and reporting<\/strong>: It provides powerful analytics and reporting features, allowing teams to track their progress and optimize their software delivery process.<\/li>\n\n\n\n<li><strong>Flexibility and customization<\/strong>: OneDev is highly flexible and customizable, with support for plugins, scripts, and custom workflows, allowing teams to tailor the platform to their specific needs.<\/li>\n<\/ul>\n\n\n\n<p>Today we will learn how to install and use OneDev, the Self-hosted Git Server with Kanban and CI\/CD.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">System Requirements<\/h2>\n\n\n\n<p>For this guide, you need the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Browser requirement:\n<ul class=\"wp-block-list\">\n<li> Microsoft Edge<\/li>\n\n\n\n<li>Safari 7.0 or higher<\/li>\n\n\n\n<li>Chrome 40.0 or higher<\/li>\n\n\n\n<li>Firefox 40.0 or higher<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>At least 2G physical memory<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install OneDev on Your System<\/h2>\n\n\n\n<p>There are many methods to get OneDev installed and running. The possible installation methods are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run as a Docker container<\/li>\n\n\n\n<li>Deploy into Kubernetes<\/li>\n\n\n\n<li>Run on Bare Metal\/Virtual Machine<\/li>\n<\/ul>\n\n\n\n<p>In this guide, we will learn how to install OneDev on Bare Metal\/Virtual Machine and Docker containers. So, you are free to choose any of the below methods that fascinate you!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Option 1 &#8211; Run OneDev on Bare Metal \/ Virtual Machine<\/h3>\n\n\n\n<p>This method is quite involving, as several dependency packages are required. First, ensure that the following are installed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Java 11 or higher<\/strong>: This can be done using any of the guides below:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/install-java-on-rocky-almalinux-9\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Java 17, Java 11 on Rocky Linux 9 \/ AlmaLinux 9<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-oracle-java-openjdk-on-debian-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Java 17 (OpenJDK 17) on Debian<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-java-fedora\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Java 17 (OpenJDK 17) on Fedora<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/install-oracle-java-18-on-ubuntu-debian\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Oracle Java 18 (OpenJDK 18) on Ubuntu \/ Debian<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Git 2.11.1 or higher<\/strong>. You also need <strong>cURL<\/strong> installed. This can be done using the commands:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">##On Debian\/Ubuntu\n<\/mark><\/em>sudo apt update &amp;&amp; sudo apt install curl git -y\n\n<em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">##On Rhel\/Rocky Linux\/Alma Linux\n<\/mark><\/em>sudo yum install curl git -y\n\n<em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">##On Arch Linux\n<\/mark><\/em>sudo pacman -S git<\/code><\/pre>\n\n\n\n<p>On Arch Linux, you need the required fonts installed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pacman -S fontconfig ttf-dejavu<\/code><\/pre>\n\n\n\n<p>Once the required packages have been installed, pull the latest <a href=\"https:\/\/code.onedev.io\/onedev\/server\/~builds?query=%22Job%22+is+%22Release%22\" target=\"_blank\" rel=\"noreferrer noopener\">OneDev release<\/a>. You can also pull the desired release, for example, the 8.0.13 version:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir onedev &amp;&amp; cd onedev\nwget https:\/\/code.onedev.io\/~downloads\/projects\/160\/builds\/3540\/artifacts\/onedev-8.0.15.tar.gz<\/code><\/pre>\n\n\n\n<p>Now extract the archive:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tar -xvf onedev-*.tar.gz<\/code><\/pre>\n\n\n\n<p>Now navigate into the directory:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd onedev-*\/<\/code><\/pre>\n\n\n\n<p>Now install the service. First, edit <strong><em>conf\\wraper.conf<\/em><\/strong> and set the value of the <strong><em>wrapper.java.command <\/em><\/strong>as the path to the java command if it <em>does not<\/em> exist in the system path. For example, In my case, I have Java at<strong><em> \/opt\/jdk-18\/<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">vim conf\/wrapper.conf<\/mark>\nwrapper.java.command=<em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\/opt\/jdk-18\/bin\/java<\/mark><\/em><\/code><\/pre>\n\n\n\n<p>Once the changes have been made, run the below command to install the service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">##On Windows(from the same folder with administrator privilege)\n<\/mark><\/em>server.bat install\n\n<em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">##On Linux\/MacOS\n<\/mark><\/em>sudo bin\/server.sh install<\/code><\/pre>\n\n\n\n<p>The system service for OneDev will be created. Start and enable the service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now onedev<\/code><\/pre>\n\n\n\n<p>Check the status of the service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\"> systemctl status onedev<\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">\u25cf<\/mark> onedev.service - OneDev\n     Loaded: loaded (\/etc\/systemd\/system\/onedev.service; enabled; vendor preset: enabled)\n     Active:<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\"> active (running) <\/mark>since Tue 2023-03-21 12:47:16 EAT; 12s ago\n    Process: 23265 ExecStart=\/home\/ubuntu22\/onedev\/onedev-8.0.13\/bin\/server.sh start sysd (code=exited, status=0\/SUCCESS)\n   Main PID: 23350 (wrapper-linux-x)\n      Tasks: 39 (limit: 4629)\n     Memory: 185.3M\n        CPU: 9.441s\n     CGroup: \/system.slice\/onedev.service\n             \u251c\u250023350 \/home\/ubuntu22\/onedev\/onedev-8.0.13\/bin\/..\/boot\/wrapper-linux-x86-64 \/home\/ubuntu22\/onedev\/onedev-8.0.13\/bin\/..\/conf\/wrapper.conf wrapper.syslog.ident=onedev wrapper.pi&gt;\n             \u2514\u250023370 \/opt\/jdk-18\/bin\/java -Djava.awt.headless=true --add-opens=java.base\/sun.nio.ch=ALL-UNNAMED --add-opens=java.base\/java.lang=ALL-UNNAMED --add-opens=java.base\/java.lang.r&gt;\n\nMac 21 12:47:12 onedev.computingforgeeks.com systemd&#91;1]: Starting OneDev...\nMac 21 12:47:13 onedev.computingforgeeks.com server.sh&#91;23265]: Starting OneDev...\nMac 21 12:47:16 onedev.computingforgeeks.com server.sh&#91;23265]: Waiting for OneDev......\nMac 21 12:47:16 onedev.computingforgeeks.com server.sh&#91;23265]: running: PID:23350\nMac 21 12:47:16 onedev.computingforgeeks.com systemd&#91;1]: Started OneDev.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Option 2 &#8211; Run OneDev as a Docker container<\/h3>\n\n\n\n<p>This option is best for those who want to avoid the complexity involve when installing the dependencies. Here, all you need is to have the Docker Engine installed and running. This can be done using the aid provide here<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/solve-error-package-docker-ce-stable-requires-container-selinux\/\" target=\"_blank\" rel=\"noreferrer noopener\">How To Install Docker CE on Linux Systems<\/a><\/li>\n<\/ul>\n\n\n\n<p>Once installed, add your system user to the docker group.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo usermod -aG docker $USER\nnewgrp docker<\/code><\/pre>\n\n\n\n<p>Now create a storage directory for OneDev<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir \/onedev\nsudo chmod -R 777 \/onedev<\/code><\/pre>\n\n\n\n<p>On Rhel-based systems, configure SELinux for the path to be accessible:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo setenforce 0\nsudo sed -i 's\/^SELINUX=.*\/SELINUX=permissive\/g' \/etc\/selinux\/config<\/code><\/pre>\n\n\n\n<p>Now you can easily spin the container using the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \\\n  --name onedev \\\n  --restart always \\\n  -v \/var\/run\/docker.sock:\/var\/run\/docker.sock \\\n  -v \/onedev:\/opt\/onedev \\\n  -p 6610:6610 \\\n  -p 6611:6611 \\\n  1dev\/server<\/code><\/pre>\n\n\n\n<p>Check the status of the container:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">docker ps<\/mark>\nCONTAINER ID   IMAGE                                      COMMAND                  CREATED          STATUS          PORTS                                                           NAMES\n486341cf8a7f   1dev\/server                                \"\/root\/bin\/entrypoin\u2026\"   17 seconds ago   Up 14 seconds   0.0.0.0:6610-6611-&gt;6610-6611\/tcp, :::6610-6611-&gt;6610-6611\/tcp   onedev<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Access OneDev Web UI<\/h2>\n\n\n\n<p>Once OneDev has been installed, you can now access it using the URL <a href=\"http:\/\/domain_name:6610\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/domain_name:6610<\/a>. First, create the admin user.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"818\" height=\"798\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev.png\" alt=\"\" class=\"wp-image-134872\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev.png 818w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-300x293.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-768x749.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-696x679.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-431x420.png 431w\" sizes=\"auto, (max-width: 818px) 100vw, 818px\" \/><\/figure>\n\n\n\n<p>Set the URL for your site.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"644\" height=\"861\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-1.png\" alt=\"\" class=\"wp-image-134873\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-1.png 644w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-1-224x300.png 224w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-1-314x420.png 314w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/figure>\n\n\n\n<p>Now you are ready to use OneDev.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"404\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-1024x404.png\" alt=\"\" class=\"wp-image-134874\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-1024x404.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-300x118.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-768x303.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-1536x607.png 1536w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-696x275.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-1068x422.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2-1063x420.png 1063w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-2.png 1914w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Use OneDev &#8211; Git with Kanban and CI\/CD<\/h2>\n\n\n\n<p>Now we are set to use the OneDev Self-hosted Git Server with Kanban and CI\/CD. We will begin by creating a test project from the web UI.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"913\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-1024x913.png\" alt=\"\" class=\"wp-image-134875\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-1024x913.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-300x267.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-768x685.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-696x620.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-1068x952.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3-471x420.png 471w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-3.png 1132w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once created, we will create a react application from the terminal. First, install<strong><em> Node.js <\/em><\/strong>14 or higher on your system before you proceed.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">### On RHEL, CentOS or Fedora, for Node.js LTS ###\n<\/mark><\/em>sudo yum install gcc-c++ make\ncurl --silent --location https:\/\/rpm.nodesource.com\/setup_16.x | sudo bash -\nsudo yum -y install nodejs\n\n<em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">###  Debian  \/ Ubuntu ###\n<\/mark><\/em>curl -sL https:\/\/deb.nodesource.com\/setup_16.x | sudo -E bash -\nsudo apt install -y nodejs<\/code><\/pre>\n\n\n\n<p>Now create the application.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npx create-react-app <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">myapp<\/mark><\/code><\/pre>\n\n\n\n<p>After this, you will have a directory my-app created in the current directory. To push this code to OneDev, navigate into the directory:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">myapp<\/mark><\/code><\/pre>\n\n\n\n<p>Now push the code to OneDev <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git remote add origin http:\/\/localhost:6610\/<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">myapp<\/mark>\ngit push origin master:master<\/code><\/pre>\n\n\n\n<p>Sample output:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"685\" height=\"227\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-4.png\" alt=\"\" class=\"wp-image-134876\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-4.png 685w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-4-300x99.png 300w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/figure>\n\n\n\n<p>Now you should have your code pushed as shown in the web UI.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-1024x534.png\" alt=\"\" class=\"wp-image-134877\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-1024x534.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-300x156.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-768x400.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-1536x800.png 1536w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-696x363.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-1068x557.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5-806x420.png 806w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-5.png 1917w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now click on<strong> &#8220;adding onedev buildspec&#8221;<\/strong> to bring up the GUI and add a build specification<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"765\" height=\"655\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-6.png\" alt=\"\" class=\"wp-image-134878\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-6.png 765w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-6-300x257.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-6-696x596.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-6-491x420.png 491w\" sizes=\"auto, (max-width: 765px) 100vw, 765px\" \/><\/figure>\n\n\n\n<p>Here, we will use the default template. <strong>Save<\/strong> this spec and commit the changes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"762\" height=\"656\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-7.png\" alt=\"\" class=\"wp-image-134879\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-7.png 762w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-7-300x258.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-7-696x599.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-7-488x420.png 488w\" sizes=\"auto, (max-width: 762px) 100vw, 762px\" \/><\/figure>\n\n\n\n<p>Now you will see the CI build in progress here.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"645\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-1024x645.png\" alt=\"\" class=\"wp-image-134880\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-1024x645.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-300x189.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-768x484.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-696x439.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-1068x673.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8-666x420.png 666w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-8.png 1217w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To view the progress, click on it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-1024x533.png\" alt=\"\" class=\"wp-image-134881\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-1024x533.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-300x156.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-768x400.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-1536x799.png 1536w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-696x362.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-1068x556.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9-807x420.png 807w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-9.png 1910w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once complete, you should have one build as shown<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-1024x481.png\" alt=\"\" class=\"wp-image-134882\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-1024x481.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-300x141.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-768x361.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-696x327.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-1068x502.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10-893x420.png 893w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2023\/03\/Install-and-Use-OneDev-10.png 1523w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Closing Thoughts<\/h2>\n\n\n\n<p>That marks the end of this guide. We have only covered a simple quickstart on OneDev, there are many other practical examples which I believe you can try on your own. I hope this was informative. <\/p>\n\n\n\n<p>See more:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/computingforgeeks.com\/run-gitlab-docker-compose\/\" target=\"_blank\" rel=\"noreferrer noopener\">Run GitLab in Docker Containers using Docker Compose<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computingforgeeks.com\/scan-container-images-git-vulnerabilities-using-trivy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scan for Docker Image and Git vulnerabilities using Trivy<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>CI\/CD is an abbreviation for Continuous Integration and Continuous Delivery (or Deployment). This refers to a set of software development practices aimed at improving the efficiency and reliability of the software delivery process. Continuous Integration (CI) is the practice of regularly integrating code changes into a shared repository to detect and resolve conflicts as early &#8230; <a title=\"Install and Use OneDev &#8211; Self-hosted Git Server with Kanban and CI\/CD\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/install-use-onedev-self-hosted-git-server\/\" aria-label=\"Read more about Install and Use OneDev &#8211; Self-hosted Git Server with Kanban and CI\/CD\">Read more<\/a><\/p>\n","protected":false},"author":21,"featured_media":134877,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[329,690,35913,590,299],"tags":[38373],"class_list":["post-134861","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automation","category-dev","category-devops","category-git","category-how-to","tag-install-and-use-onedev"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/134861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=134861"}],"version-history":[{"count":0,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/134861\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/134877"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=134861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=134861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=134861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}