Maison >développement back-end >Golang >gitlab déployer golang

gitlab déployer golang

PHPz
PHPzoriginal
2023-05-21 16:39:08713parcourir

1. Contexte

Gitlab est un système de contrôle de version open source qui peut réaliser la gestion d'entrepôt de code, le contrôle de version, le développement collaboratif et d'autres fonctions. Golang est un langage compilé hautes performances qui a beaucoup attiré l'attention des développeurs en raison de ses excellentes performances de concurrence et de sa grande efficacité de développement.

En utilisation réelle, nous devrons peut-être déployer des applications Golang sur Gitlab pour une construction automatisée et une intégration continue. Cet article explique comment déployer des applications Golang sur Gitlab.

2. Préparation

1. Installer Gitlab

Vous devez d'abord installer Gitlab Vous pouvez vous référer au tutoriel d'installation fourni par le site officiel de Gitlab pour l'installation.

2. Installez golang

Deuxièmement, vous devez installer golang. Vous pouvez télécharger directement le dernier package d'installation depuis le site officiel pour l'installation. Une fois l'installation terminée, vous devez également définir des variables d'environnement.

3. Créez un projet golang

1. Créez un projet

Créez un nouveau projet golang dans Gitlab et sélectionnez "Créer un projet". Entrez le nom du projet, la description et d'autres informations, sélectionnez les paramètres par défaut et il y aura une adresse d'entrepôt git une fois la création réussie.

2. Initialisez le projet

Entrez le répertoire du projet golang local et exécutez la commande suivante pour initialiser le projet dans un entrepôt git :

git init

Associez le projet à l'adresse de l'entrepôt Gitlab :

git remote add origin [Gitlab 仓库地址]

Soumettez le fichier du projet au Entrepôt Gitlab :

git add .
git commit -m "Initial commit"
git push -u origin master

Une fois la soumission terminée, nous avons téléchargé avec succès le projet golang dans l'entrepôt Gitlab.

3. Configurez le fichier gitlab-ci.yml

1. Créez le fichier

Créez un fichier .gitlab-ci.yml dans le répertoire racine du projet golang.

2. Modifiez la configuration

Écrivez la configuration suivante dans le fichier .gitlab-ci.yml :

image: docker/compose:1.18.0

services:
  - docker:dind

before_script:
  - apk update && apk add --no-cache curl git
  - curl https://glide.sh/get | sh

stages:
  - build
  - deploy

build:
  stage: build
  script:
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
    - docker pull registry.gitlab.com/xxxxxxxxx/golang:latest || true
    - docker build --cache-from registry.gitlab.com/xxxxxxxxx/golang:latest -t registry.gitlab.com/xxxxxxxxx/golang:$CI_BUILD_TAG --pull .
    - docker push registry.gitlab.com/xxxxxxxxx/golang:$CI_BUILD_TAG

deploy:
  stage: deploy
  script:
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
    - docker pull registry.gitlab.com/xxxxxxxxx/golang:$CI_BUILD_TAG || true
    - docker run -d --name appname -p 8080:8080 registry.gitlab.com/xxxxxxxxx/golang:$CI_BUILD_TAG

Le xxx dans le fichier de configuration doit être remplacé par votre propre adresse d'entrepôt Gitlab.

Parmi eux, la commande dans before_script consiste à installer l'outil de dépendance glide dans le conteneur Docker.

Build et déploiement représentent respectivement les deux phases de build et de déploiement. La phase de construction est principalement utilisée pour créer des images Docker, et la phase de déploiement est principalement utilisée pour déployer les images Docker construites sur le serveur.

4. Créez et déployez des applications Golang

1. Créez l'image Docker

Exécutez la commande suivante dans le répertoire racine du projet pour créer l'image :

docker build -t golang-app .

2. Déployez l'application

Exécutez la commande suivante pour déployer l'image. Image Docker sur le serveur Ci-dessus :

docker run -d --name my-golang-app -p 8080:8080 golang-app

À ce stade, nous avons déployé avec succès l'application golang sur Gitlab. Grâce à la fonction CD/CI de Gitlab, nous pouvons réaliser une construction automatisée et une intégration continue, améliorer l'efficacité du développement, et déployer et mettre à jour facilement et rapidement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn