Jenkins pipeline 작성시 로컬 및 전역변수 사용에 대한 내용에 대하여 기술하고자 한다. Scripted pipeline 아래는 scripted 방식으로 pipeline 을 기술했을때의 전역변수와 로컬변수에 대한 사용법과 그에 대한 실행결과이다. 아래와 같이 l_val(local) / g_val(global)로 나누어 테스트를 수행하였었다. node { g_val = null stage('test local variable') { echo "[local variable test]" def l_val = null $l_val = "local val" sh "echo '(sh)l_val : '$l_val" echo "(echo)l_val : " + $l_val echo..
Jenkinsfile을 수정해보았으나 간혹 syntax error가 발생될수 있다. 이때 마다 수정하고 code push후 이를 테스트 해보기란 여간 번거로운 일이 아닐수 없다. 하여 간단하게 plugin 혹은 built-in validator를 사용하여 검증하는 방법을 알아보도록 하자. validator vscode plugin 아래 plugin 을 설치하고 사용할수 있다. https://marketplace.visualstudio.com/items?itemName=janjoerke.jenkins-pipeline-linter-connector plugin이 설치되면 ctrl + shift + p 입력하여 validate pipeline 을 실행해볼수 있다. validate Jenkinsfile을 선택하..
K3s 란 가벼운 Kubernetes로 쉽게 설치하고 적은 메모리/binary 파일을 사용하여 Edge/IoT 환경 혹은 CI/Dev 환경에서 k8s를 쉽게 사용할 수 있도록 도와주는 도구이다. https://github.com/k3s-io/k3s installation K3s 설치 설치는 간단하다. 아래와 같이 shell script를 제공하며 바로 다운받아 설치를 진행한다. [root@deploy ~]# curl -sfL https://get.k3s.io | sh - [INFO] Finding release for channel stable [INFO] Using v1.20.2+k3s1 as release [INFO] Downloading hash https://github.com/rancher/k3..
log 확인 아래 명령을 통해 log를 확인해볼수 있으며 kubectl logs [pod_name] tail -f 와 같은 지속적인 log확인이 필요한 경우 아래와 같이 수행하여 log를 확인한다. kubectl logs --follow [pod_name] bash로 연결 실제 동작중인 pod에 연결해서 확인이 필요한 부분이 있을 경우 bash로 연결하는 방법이다. kubectl exec -it nexus-866ddcf974-ngkfg /bin/bash yaml형태로 출력 아래와 같이 단순히 pod의 이름만이 출력된다. jacob@JACOB-DESKTOP:~$ kubectl get pod nexus-866ddcf974-ngkfg NAME READY STATUS RESTARTS AGE nexus-866dd..
Nexus를 통한 maven/npm dependency install 혹은 deploy 에 artifact 배포하는 방법에 대하여 알아보자. 실제 환경은 Local VM으로 Nexus를 구성하였고 Nexus3 를 사용하였다. maven 우선 기본 구성은 다음과 같은 Repository를 가지고 있다. 우리가 구성할 환경은 Remote Repository 환경으로 type은 proxy와 hosted 두가지 방식을 모두 사용할 예정이다. proxy는 dependency install에서 사용되고 hosted의 경우는 snapshot deploy에 사용될 예정이다. remote repository의 경우 다음 두가지 파일의 설정을 통해 remote repository에 대한 설정을 진행할 수 있다. maven..
개발을 하다보면 개발용으로 minikube를 사용하고 실제 test 혹은 QA 용, production용으로 kubernetes를 다르게 두는 경우가 있다. 이와 같은 경우 어떤 방식으로 kubectl의 config를 설정하면 좋을지에 대하여 기술해본다. 우선 kubectl을 설치한다. https://kubernetes.io/docs/tasks/tools/install-kubectl/ 이후 minikube를 설치하고 production 환경의 kubernetes 정보를 확인한다. kubectl 및 minikube를 처음 설치한 후에는 아래와 같이 config 정보를 확인해볼 수 있다. PS C:\Users\Jacob> kubectl.exe config view apiVersion: v1 clusters:..
GitLab에서는 Kubernetes Cluster를 손쉽게 추가하여 deploy 하여 사용할 수 있다. 간단히 k3s를 내부에 설치하고 이를 gitlab에 추가하는 과정을 알아보자. Kubernetes(K3s) 설치 우선 간단한 k3s의 설치방법에 대하여 알아보자. k3s의 경우 이름이 8->3 로 되어 있는것에서 유추할수 있듯이 가볍고 설치도 아래의 명령와 같이 간단한 방법으로 설치할 수 있다. 다만 아래 내용을 우선 확인하고 설치를 진행하면 에러없이 설치가 쉽게 이루어진다. selinux permissive로 변환 path 확인(kubectl이 /usr/local/bin/내에 설치되어 path 지정이 안되어있을 경우 k3s의 설치여부를 확인하기가 어렵다.) 아래 링크를 따라 install file을..
Docker image 생성 및 deployment 생성 아래와 같이 Dockerfile을 생성하고 Build하여 image로 생성한다. jacob@jacob-laptop:~/workspaces/hellopy$ cat Dockerfile FROM python:3.7.4 EXPOSE 8000 CMD python -m SimpleHTTPServer jacob@jacob-laptop:~/workspaces/hellopy$ docker build -t hello-py:v1 . Sending build context to Docker daemon 2.048kB Step 1/3 : FROM python:3.7.4 ---> 02d2bb146b3b Step 2/3 : EXPOSE 8000 ---> Using cache..
- Total
- Today
- Yesterday
- wsl2
- GateKeeper
- socket
- mattermost
- jenkins
- boundary ssh
- openstack backup
- Terraform
- metallb
- minio
- Helm Chart
- nginx-ingress
- ceph
- vmware openstack
- open policy agent
- openstacksdk
- kubernetes
- K3S
- kubernetes install
- DevSecOps
- minikube
- azure policy
- hashicorp boundary
- OpenStack
- crashloopbackoff
- macvlan
- aquasecurity
- kata container
- Jenkinsfile
- ansible
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |