Introduction
Jenkins — est un serveur d'intégration continue distribué open source en langage Java. Dans cette publication, nous allons installer ce CI en utilisant kubernetes groupes.
Kubernetes est un logiciel d'orchestration d'applications conteneurisées - automatisant leur déploiement, leur mise à l'échelle et leur coordinationnation dans un environnement de cluster. Grâce à la conteneurisation, vous pouvez facilement restreindre les applications les unes des autres, ainsi que modifier les ressources serveur allouées d'une application à une autre si nécessaire.
In Serverspace, vous pouvez engendrent un tout prêt Kubernetes cluster, parce que c'est pratique !
Exigences
- Au moins 2 CPUs de mettre en œuvre un kubernetes serveur
Ou louer un kubernetes serveur - Cliserveur ent, pour la gestion et la configuration kubernetes grappes
Préinstallation
Avant d'installer CI, vous devez déployer Kubernetes. Pour faire cela en Serverspace infrastructure, connectez-vous simplement à votre compte personnel, puis rendez-vous sur Kubernetes et lancez l'installation :
Configurez le cluster dédié selon les caractéristiques dont vous avez besoin, n'oubliez pas de lui donner un nom.
Ps Il faudra environ 15 minutes pour créer le cluster, soyez patient.
Après avoir créé le cluster, vous pourrez télécharger le fichier de configuration du serveur avec Cubernetes. Vous aurez besoin de ce fichier de configuration plus tard lors de l'installation de CI, pour lier le client-server et le serveur avec le kubernetes groupes.
Téléchargez le fichier de configuration sur votre ordinateur, téléchargez-le sur le serveur en choisissant l'une des solutions proposées :
- Vous pouvez créer un nouveau fichier et mettre le kubernetes configuration du cluster dedans.
nano config-kubernetes
Insérer le kubernetes fichier de configuration dans le fichier créé et enregistrez-le.
- Vous pouvez télécharger le fichier à distance en utilisant le protocole SFTP.
Commencer
Installez les packages nécessaires à l'installation de CI.
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
Spécifiez l'emplacement du fichier de configuration du serveur k8s.
export KUBECONFIG=<your path to config>
Ps Nous avons copié/créé ce fichier après avoir démarré le kubernetes serveur.
Vérifiez la connexion au serveur.
kubectl cluster-info
Créer un space pour CI.
kubectl create namespace <your_namespace>
Pour installer et exécuter CI sur un Kubernetes server, nous devons créer un fichier de configuration, avec nos paramètres de serveur.
nano our_project_jen.yaml
Entrez ces parameters dans le fichier de configuration créé.
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins
spec:
replicas: 1
selector:
matchLabels:
app: jenkins
template:
metadata:
labels:
app: jenkins
spec:
containers:
- name: jenkins
image: jenkins/jenkins:lts
ports:
- name: http-port
containerPort: 8080
- name: jnlp-port
containerPort: 50000
volumeMounts:
- name: jenkins-vol
mountPath: /var/jenkins_vol
volumes:
- name: jenkins-vol
emptyDir: {}
Ce fichier de configuration déploiera la dernière version de CI. De plus, les ports spécifiés dans la configuration seront créés et ouverts, vous pouvez les modifier selon vos besoins.
Pointez maintenant le créé space quel fichier de configuration utiliser.
kubectl create -f jenkins.yaml --namespace <your_namespace>
Attendez que le cluster installe l'image jenkins et l'exécute, utilisez la commande ci-dessous pour tester le module.
kubectl get pods -n jenkins
Après avoir exécuté l'image, je vais créer deux autres services pour utiliser la version Web de jenkins.
Créez et modifiez le fichier de configuration du service.
nano jenkins-service.yaml
Ajoutez ces paramètres au fichier créé.
Cluster de points pour utiliser ce fichier de configuration avec le même space créé.
kubectl create -f jenkins-service.yaml --namespace <your_namespace>
Vérification de l'état du service.
kubectl get services --namespace jenkins
Utilisez cette commande pour voir l'adresse IP, ou vous pouvez la rechercher dans le kubernetes panneau de contrôle du cluster.
kubectl get nodes -o wide
Avant de passer à la version Web, obtenez le mot de passe du superutilisateur Jenkins.
kubectl logs jenkins-CHANGE -n jenkins
Où "CHANGE" est le nom de votre conteneur.
Le mot de passe se trouve dans les journaux de notre image en cours d'exécution.
Accédez à la version Web de CI pour continuer l'installation, entrez dans la boîte de dialogue le mot de passe que nous avons appris précédemment.
Pour terminer l'installation de Jenkins, suivez les instructions fournies avec la version Web.
Conclusion
Dans cette publication, j'ai montré comment déployer Jenkins CI en utilisant des kubernetes ressources du serveur de Serverspace.