User Tools

Site Tools


инструмент_jenkins

This is an old revision of the document!


Инструмент Jenkins

Установка

Смена порта

server# systemctl stop jenkins

server# systemctl edit jenkins
[Service]
Environment="JENKINS_PORT=8081"
server# systemctl start jenkins

server# systemctl status jenkins
Dashboard -> Manage Jenkins -> System
  Jenkins URL: http://server.corpX.un:8081/

Подключение

Подключение агента

gate# useradd -m -s /bin/bash jenkins
Dashboard->Set up an agent->Create a new node 
  Node name: gate
  Type: Permanent Agent
  ...
  Remote root directory: /home/jenkins/
  ...
  Use WebSocket: yes
  ...
gate# su - jenkins
Копируем команды, указанные на странице нового агента:

jenkins@gate:~$ curl -sO http://server.corpX.un:8081/jnlpJars/agent.jar

jenkins@gate:~$ java -jar agent.jar -jnlpUrl http://server.corpX.un:8081/computer/gate/jenkins-agent.jnlp -secret NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN -workDir "/home/jenkins/"

Примеры проектов/заданий

Freestyle projects

Enter an item name:
  dhcp freestyle project
...
Restrict where this project can be run:
  gate
...
Source Code Management:
  Git:
    Repository URL: http://server.corpX.un:3000/student/dhcp.git
...    
Build Steps
  Execute shell:
    make test
  Execute shell:
    sudo make install
...
Dashboard -> dhcp freestyle project
  Build Now

Pipeline

Enter an item name:
  dhcp pipeline
...
Pipeline
  Pipeline script from SCM
    Repository URL: http://server.corpX.un:3000/student/dhcp.git
В SCM GitLab/GitHub/Gitea:

New File: Jenkinsfile
pipeline {
    agent {
        node {
            label 'gate' 
        }
    }
    stages {
        stage('Test') {
            steps {
                sh 'make test'
            }
        }
        stage('Deploy') {
            steps {
                sh 'sudo make install'
            }
        }
    }
}

Webhooks

Manage Jenkins -> Manage Plugins -> Available -> Gitea
Manage Jenkins -> Configure System -> Gitea Servers
  Name: server
  Server URL: http://server.corp13.un:3000/
  Manage hooks
    Jenkins Credentials Provider: Jenkins
    Login: student
    ...
Freestyle dhcp
  или
Pipeline dhcp

  Configure
    Poll SCM: yes
Gitea
  Project->Setings-Webhooks
    Должен появиться Target URL и работать Test Delivery
    
Задержка, примерно, 30 секунд
инструмент_jenkins.1694750744.txt.gz · Last modified: 2023/09/15 07:05 by val