Skip to content

CICD Work

  • Team City
  • Project 생성
  • Build Step 추가
    • cli (set short hash)
    • docker build
    • docker push
  • parameters 추가 'GitShortHash'
  • Connections > Add Connections > Docker Registry (:5050)

  • On-Premise-Server

Public wifi kaonmedia 172.16.6.77 테스트

Team city > (Root) KRMS3.0 > Krms Dev

Gitlab (k8s_yaml) 코드작성

git clone https://devportal.kaonrms.com/konnect/YAML/on-premise/testgohttp.git

cd testgohttp
cat > main.go
package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello World!")
    })

    http.ListenAndServe(":8080", nil)
}



mkdir build
cat > build/Dockerfile

FROM golang:1.17-alpine as builder

WORKDIR /app

COPY . .

RUN go build -o main .

EXPOSE 8080

CMD ["./main"]

TeamCity

  • VCS Root name https://devportal.kaonrms.com/konnect/cs/krms-mail-sender.git#refs/heads/master

  • Fetch URL https://devportal.kaonrms.com/konnect/cs/krms-mail-sender.git

  • Default branch refs/heads/master

  • Branch Specification refs/heads/*

  • Password/Personal Access Token docker_rep/

  • Build steps : CLI

#!/bin/bash

Hash=%build.vcs.number%
ShortHash=${Hash:0:7}
echo "###teamcity[setParameter name='GitShortHash' value='$ShortHash']"
  • Build steps : Docker build

    • image:tag
    • 172.16.6.77:5000/my_image:%GitShortHash%
  • Build steps : Docker push

도커 레지스트리 생성

netstat -anp | grep 5000
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/docker_registry:/var/lib/registry registry:2

로컬-> 레지스트리

vim C:\Users\k230303\.docker/daemon.json

{

    "insecure-registries": ["172.16.6.77:5000"]

}

docker tag my_image 172.16.6.77:5000/my_image

docker login 172.16.6.77:5000
docker push 172.16.6.77:5000/my_image
docker pull 172.16.6.77:5000/my_image


## Team City가 아닌 로컬-> 레지스트리 테스트
go mod init devportal.kaonrms.com/konnect/YAML/on-premise/testgohttp
go mod tity
docker build -t my_image -f ./build/Dockerfile .
docker images
    REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
    my_image     latest    0bbcb61acb59   6 seconds ago   320MB


docker tag my_image 172.16.6.77:5000/my_image

winpty docker login http://172.16.6.77:5000
docker push 172.16.6.77:5000/my_image
docker pull 172.16.6.77:5000/my_image