All in one Self-hosted Git Server with Kanban and CI/CD .
# ubuntu 22.04 $ sudo apt install -y openjdk-19-jre-headless openjdk-19-jre git curl unzip # Install dependencies if it fails. $ sudo apt install -f $ export JAVA_HOME=/usr/lib/jvm/java-19-openjdk-amd6 $ echo $JAVA_HOME $ wget https://code.onedev.io/downloads/projects/160/builds/3112/artifacts/onedev-7.7.11.zip $ unzip onedev-7.7.11.zip $ cd onedev-7.7.11 $ sudo vim conf/wrapper.conf # Comment out wrapper.java.maxmemory.percent=50 uncomment wrapper.java.maxmemory=1024 $ sudo bash bin/server.sh installstart $ sudo systemctl status onedev # allow inbound access via firewall and security group if required port 6610 # http://localhost:6610 # setup account info # Enable MFA > Click on account name > Two Factor Authentication > scan QR with MFA APP # Optional: Setup Nginx Reverse Proxy to route to port 443, see decyphertek nginx docs.
Agents - runs on remote machines to execute jobs dispatched by server. It can be included in one or more remote job executors via agent selector. Depending on the job executor being used, it executes jobs either inside or outside containers. Agents are not required if you run jobs on server or inside Kubernetes cluster. Job workspace - is the working directory where job commands are executed. Repository and dependency files (if there is any) will be retrieved into this directory. Artifacts/reports will also be published based on this directory Steps - are defined in job to execute scripts on designated images. Job steps execute sequentially on job node and share the same job workspace Step template - groups a sequence of steps as a whole and can be customized with parameters. A step template can be used in a job and itself can use other step templates if necessary Services - define live facilities used by a job such as database, message queue etc Build - is result of running a job Build Promotion - If some jobs depend on job of a particular build, this build can then be promoted to run these downstream jobs. During promotion, artifacts (normally verified to be good) of current build can be passed to downstream jobs for further processing Pipeline - is an execution of job dependency graph. Job dependency graph can be executed by running any job in the graph, either manually or automatically via job triggers Build Stream - Two builds are on same stream if they: Belongs to same project Belongs to same job Corresponding commits are on same branch