ssh 명령을 jenkins 상에서 사용할일이 다수 있는 상황에서 ssh 를 pipeline을 통해 어떻게 사용할수 있는지에 대하여 알아보도록 하자. ssh plugin을 사용하기 위해서는 다음과 같은 plugin 설치가 필요하다. (이름은 ssh pipeline steps로 검색된다.) https://plugins.jenkins.io/ssh-steps plugin 설치가 완료된후 ssh key를 등록한다. 배포되어질 서버에 ssh key를 ssh-copy-id 명령을 이용하던지 아니면 기존에 가지고 있던 key파일이 있다면 해당 파일을 이용하여 등록한다. 개인적으로 Passphrase(비밀번호)를 지정하지 않았기에 Passpharse는 빈칸으로 생성하였다. 이후 생성된 credential(ID : ec..
간단하게 GitLab API를 사용하는 방법에 대하여 알아보도록 하자. 우선 API를 호출하기 위한 주소가 필요한데 일반적으로 기본주소(https://gitlab.com)를%EB%A5%BC) 제외하고 /api/v4/를 기본 URI로 사용하게 된다. 명시된 버전(v4)의 경우 아래 코드상에 정의된 사항이니 참고하면 좋다. https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/api/api.rb API의 경우 주소외에 인증정보를 추가해야 하는데 GitLab API의 경우 다음과 같은 방식을 기본 제공한다. OAUTH2 Personal Access Token Session Cookie GitLab CI Job token https://docs.gitlab.co..
gradle로 빌드 가능한 application을 ec2 instance 내 tomcat webapps directory에 복사하는 과정을 Jenkinsfile로 생성한 내용을 간단히 정리해보았다. 환경 Git repository로 Bitbucket Server 사용 Jenkins 2.235.1 EC2 instance 상에 tomcat으로 Application 동작 사전 준비 사전에 credential 두개를 Jenkins 상에서 생성한다. jacobbaek : bitbucket에서의 credential ("username and password" type으로 credential 생성) ec2-user-credential : ec2 instance에 로그인할 ec2-user의 ("ssh username ..
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을 선택하..
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..
GitLab에서는 Kubernetes Cluster를 손쉽게 추가하여 deploy 하여 사용할 수 있다. 간단히 k3s를 내부에 설치하고 이를 gitlab에 추가하는 과정을 알아보자. Kubernetes(K3s) 설치 우선 간단한 k3s의 설치방법에 대하여 알아보자. k3s의 경우 이름이 8->3 로 되어 있는것에서 유추할수 있듯이 가볍고 설치도 아래의 명령와 같이 간단한 방법으로 설치할 수 있다. 다만 아래 내용을 우선 확인하고 설치를 진행하면 에러없이 설치가 쉽게 이루어진다. selinux permissive로 변환 path 확인(kubectl이 /usr/local/bin/내에 설치되어 path 지정이 안되어있을 경우 k3s의 설치여부를 확인하기가 어렵다.) 아래 링크를 따라 install file을..
Ansible Dynamic Inventory Ansible은 외부 inventory system을 쉽게 사용할 수 있도록 돕는다.- https://docs.ansible.com/ansible/2.5/user_guide/intro_dynamic_inventory.html 아래 링크로 이동해보면 inventory관련 script example들이 존재한다. - https://github.com/ansible/ansible/tree/devel/contrib/inventory dynamic inventory의 사용이유autoscaling 이나 외부 application들에 의해 관리되어지는 등 다양한 이유로 inventory file들은 유지되지 않기에 이를 dynamic하게 할당하기 위함이다.간단하 예로 내..
- Total
- Today
- Yesterday
- jenkins
- nginx-ingress
- kubernetes
- openstack backup
- open policy agent
- kubernetes install
- Jenkinsfile
- Helm Chart
- socket
- azure policy
- ceph
- OpenStack
- crashloopbackoff
- DevSecOps
- metallb
- GateKeeper
- minio
- kata container
- boundary ssh
- macvlan
- vmware openstack
- wsl2
- minikube
- aquasecurity
- openstacksdk
- Terraform
- mattermost
- ansible
- hashicorp boundary
- K3S
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |