[installation Docker de Jenkins et problèmes courants] super détaillé ! ! !

Explication détaillée

mkdir D:\liuqinchong\jenkins   # 新建Jenkins工作目录,用于跟容器中Jenkins目录挂在
docker pull jenkins/jenkins:lts  # 拉取Jenkins镜像

#下方命令在windows中可不用
ls -nd /home/Jenkins  # 查看目录归属ID
chown -R 1000:1000 /home/jenkins  # 赋予权限

1. Résolvez l'erreur d'autorisation :

Étant donné que l'utilisateur dans le conteneur Jenkins est Jenkins, mais que l'utilisateur hôte n'est pas Jenkins, même root signalera une erreur : /var/jenkins_home/copy_reference_file.log : autorisation refusée. À ce stade, vous devez attribuer l'adresse de l'hôte sur le hôte pour accéder au conteneur Jenkins. Autorisations, Jenkins utilise en interne l'utilisateur avec l'uid 1000

2. Commandes courantes pour créer des conteneurs avec docker :

docker run -dt --name jenkins -p 9090:8080 -p 50000:50000 --privileged=true -v D:\liuqinchong\jenkins:/var/jenkins_home jenkins/jenkins:lts   # 运行Jenkins容器

-privileged=true : permet au conteneur d'avoir les privilèges root, il est facile d'entrer dans le conteneur

-p 9090:8080 : Spécifie que le port 9090 de l'hôte est mappé au port 8080 du conteneur Jenkins (port d'accès Web de Jenkins)

-v D:\liuqinchong\jenkins:/var/jenkins_home : le chemin du conteneur /var/jenkins_home est monté sur le chemin de la machine hôte D:\liuqinchong\jenkins (ma machine hôte ici est Windows)

docker ps #用于查看容器列表
docker exec -it jenkins /bin/bash #进入容器,可使用容器名称,也可以使用容器id进入

3. Source de configuration

Avant d'ouvrir Jenkins, vous pouvez remplacer la source du site officiel
. Recherchez le répertoire de travail de Jenkins et ouvrez le fichier hudson.model.UpdateCenter.xml

vim /var/jenkins_home/hudson.model.UpdateCenter.xml
docker restart jenkins  #重启Jenkins

Modifiez le contenu dans la zone rouge en https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
insérer la description de l'image ici

4. Ouvrez Jenkins et installez le plugin :

Utilisez le port ip plus du conteneur pour ouvrir Jenkins (les commandes telles que ifconfig ne peuvent pas être utilisées dans le conteneur, elles doivent être installées séparément)
insérer la description de l'image ici
choisissez d'installer le plug-in recommandé (car la source miroir n'est pas configurée, le processus de téléchargement est lent )
insérer la description de l'image ici
insérer la description de l'image ici
vous pouvez utiliser la commande suivante pour remplacer l'url

cd /var/jenkins_home/updates #进入容器并切换到updates目录
sed -i 's#https://updates.jenkins.io/download#https://mirrors.huaweicloud.com/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json  #替换url

Actualisez ensuite la page de téléchargement du plug-in ci-dessus, cliquez sur Continuer
insérer la description de l'image ici
insérer la description de l'image ici

5. Configuration de l'environnement Jenkins

1) Installer les commandes communes

docker exec -it -u root 容器id /bin/bash #进入容器
cat /etc/issue #查看当前操作系统

Le conteneur peut ne pas avoir certaines commandes courantes et doit être téléchargé

apt-get install -y vim

insérer la description de l'image ici
Si les problèmes ci-dessus surviennent, utilisez la commande suivante pour mettre à jour apt-get. Le processus de mise à jour peut être lent. Une fois la mise à jour terminée, vous pouvez utiliser la commande apt-get pour effectuer une nouvelle installation.

Remarque : Il peut également y avoir des problèmes sans autorisations
insérer la description de l'image ici

Solution:

docker exec -it -u root jenkins /bin/bash  #指定root用户进入
#删除提示的两个文件
rm -rf /var/lib/dpkg/lock
rm -rf /var/cache/apt/archives/lock

passwd root #给root设置密码,下次无权限时可直接切换root用户
apt-get update

2) configuration appropriée de la source cloud Alibaba

Le processus peut être lent, vous pouvez modifier la configuration appropriée pour ajouter la source Alibaba Cloud

# 修改 apt-get 源的配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
echo > /etc/apt/sources.list #清空源
cat /etc/apt/sources.list #查看是否清空
#向/etc/apt/sources.list文件中,写入源地址
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" >/etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >>/etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >>/etc/apt/sources.list
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >>/etc/apt/sources.list
apt-get update #更新

3) Commandes courantes pour l'installation d'apt-get :

installe miam

apt-get update && apt-get install yum

bash : ip : commande introuvable

apt-get update && apt-get install -y iproute2

bash : ping : commande introuvable

apt-get update && apt install iputils-ping

bash : ifconfig : commande introuvable

apt-get update && apt install net-tools

bash : vi : commande introuvable

apt-get update &&  apt-get install vim

bash : route : commande introuvable

apt-get update && apt-get install -y iproute2 && apt-get update && apt install net-tools

bash : netstat : commande introuvable

apt-get update && apt install net-tools

bash : ps : commande introuvable

apt-get update && apt-get install procps

bash : top : commande introuvable

apt-get update && apt-get install procps

6. Configurez l'environnement Python3

1) Installez python3 dans le conteneur Jenkins

Il n'y a pas d'environnement Python3 dans le conteneur Jenkins, vous devez l'installer vous-même :

Remarque : pour le système Ubuntu, utilisez apt-get au lieu de yum ici.
Il est recommandé d'utiliser la commande aptitude install pour installer les outils suivants afin de résoudre efficacement les dépendances. Voir ci-dessous pour une explication détaillée. apt-get install et aptitude install peuvent être remplacés l'un par l'autre.

apt install aptitude #安装aptitude

#apt-get安装依赖包
aptitude -y install gcc automake autoconf libtool make
aptitude -y install make*
aptitude -y install zlib*
aptitude -y install openssl libssl-dev
aptitude install sudo

# 安装Python3
cd /var/jenkins_home
mkdir python3
cd python3
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz # 获取python-3.6.8.tgz包
tar -xvf Pyhthon-3.6.8.tgz #解压
cd Python-3.6.8 # 切换到Python-3.6.8目录

#执行make和make install安装
./configure --prefix=/var/jenkins_home/python3 --with-ssl
make
make install

# 添加软连接
# 添加Python3软连接
ln -s /var/jenkins_home/python3/bin/python3.6 /usr/bin/python3
# 添加pip3软连接
ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3

# 安装所需Python库
pip3 instal requests pytest-html pytest

2) Solutions courantes aux problèmes rencontrés lors de l'installation :

Il peut y avoir un message d'erreur lors de l'installation
insérer la description de l'image ici

Solution 1. Utilisez aptitude pour installer (recommandé) :

使用aptitude,aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。
与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。
举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。
这样,系统中不会残留无用的包,整个系统更为干净。此处不做赘述。
apt install aptitude #安装aptitude

有的问题 apt-get 解决不了,必须使用 aptitude 解决,有的问题,用 aptitude 解决不了,必须使用apt-get.

aptitude 解决得更好的地方: install, remove, reinstall(apt-get无此功能), show(apt-get无此功能), search(apt-get无此功能), hold(apt-get无此功能), unhold(apt-get无此功能),

apt-get 解决得更好的地方: source(aptitude无此功能), build-dep (低版本的aptitude没有build-dep功能)

apt-get 跟 aptitude 没什么区别的地方:update, upgrade (apt-get upgrade=aptitude safe-upgrade, apt-get dist-upgrade=aptitude full-upgrgade)
sudo aptitude install 

Option 2. Utilisez yum pour installer :

安装配置yum,上方已经安装好yum,接下来配置源

由于是Ubuntu没有yum源,所以要想使用yum安装软件必须要配置yum安装源。
在/etc/yum/repos.d/目录下创建两个文件,fedora-163.repo和fedora-updates-163.repo。
分别复制以下配置信息保存即可。

fedora-163.repo configure les informations suivantes

[fedora]
 
name=Fedora 17 - $basearch - 163.com
failovermethod=priority
baseurl=http://mirrors.163.com/fedora/releases/17/Everything/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-17&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
[fedora-debuginfo]
name=Fedora 17 - $basearch - Debug - 163.com
failovermethod=priority
baseurl=http://mirrors.163.com/fedora/releases/17/Everything/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-17&arch=$basearch
enabled=0
metadata_expire=7d 
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
[fedora-source]
name=Fedora 17 - Source - 163.com
failovermethod=priority
baseurl=http://mirrors.163.com/fedora/releases/17/Everything/source/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-17&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

Les informations de configuration de fedora-updates-163.repo sont les suivantes

[updates]
name=Fedora 17 - $basearch - Updates - 163.com
failovermethod=priority
baseurl=http://mirrors.163.com/fedora/updates/17/$basearch/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f17&arch=$basearch
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch
 
[updates-debuginfo]
name=Fedora 17 - $basearch - Updates - Debug - 163.com
failovermethod=priority
baseurl=http://mirrors.163.com/fedora/updates/17/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f17&arch=$basearch
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[updates-source]
name=Fedora 17 - Updates Source - 163.com
failovermethod=priority
baseurl=http://mirrors.163.com/fedora/updates/17/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f17&arch=$basearch
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

dernière exécution

yum makecache

Je suppose que tu aimes

Origine blog.csdn.net/m0_43550804/article/details/129600512
conseillé
Classement