Thanks to visit codestin.com
Credit goes to github.com

Skip to content

moonjukhim/docker

Repository files navigation

  1. Google Kubernetes Engine 생성
# nano main.tf
terraform init
terraform plan
terraform apply
  1. Jenkins를 실행할 노드에 Docker 설치
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 컨테이너를 이용한 Jenkins 시작 및 설정
sudo docker run -d -v jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock  -p 8080:8080 -p 50000:50000 --restart=on-failure --name jenkins-server jenkins/jenkins:lts-jdk11

sudo docker ps
# sudo docker rm [dockerid]

sudo docker logs jenkins-server
# copy password from log af2a40b4425a4XXXXXXXXXXXXXXXXXX

#
# sudo docker exec -itu 0 jenkins-server /bin/bash

# jenkins에도 docker 클라이언트가 필요하기때문에 같이 설치
sudo docker exec -itu 0 jenkins-server apt update
sudo docker exec -itu 0 jenkins-server apt install -y docker.io
sudo chmod 777 /var/run/docker.sock
sudo chown root:docker /var/run/docker.sock

# env 명령어로 java 위치 확인
env
# JAVA_HOME=/opt/java/openjdk
  1. ** Jenkins에서 github credential 설정 **

    • Github : Developer settings > Personal access tokens > 생성

    • jenkins에서 두개의 credential 생성

      • Kind : Secret text
      • secret : [SECRET_VALUE]
      • id : github-token
      • Description : github-token
    • jenkins에서 두개의 credential 생성

      • Kind : Username with password
      • Username : moonjukhim
      • ID : jenkins-github-id
      • Description : jenkins-github-id
  2. ** Jenkins에서 Docker Hub credential 설정 **

    • Docker hub를 위한 credential 생성

      • Kind : Username with password
      • username : moonjukhim
      • ID : jenkins-dockerhub-id
      • Description : jenkins-dockerhub-id
  3. ** Jenkins Pipeline 생성 **

  4. ** Docker Pipeline Plugins 설치 **

    • docker pipeline
  5. ** ArgoCD 설치 **

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
#
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d ; echo
kubectl get pods,service -n argocd
kubectl create namespace gitops
  1. Git Polling 설정(kubernetes-manifests, Poll or Webhook)

    • Webhook
      • git repository -> setting -> webhook
      • Payload URL : http://(jenkins IP:Jenkins port)/github-webhook/?job=(파이프라인)
      • Content Type : application/json
      • Just the push event
  2. argocd

About

docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published