CI/CD 툴로 jenkins를 운영하다보면 계정별로 아이템을 할당해주고 해당 아이템만 빌드 및 관리 할수 있게끔 세팅할 필요가 생긴다. 이런 상황을 먼저 마주하게된 경험을 작성해 본다

 

Plugin 설치

우선 jenkins에 다음 플러그인을 검색후 설치해준다.

Jenkins 관리 > 플러그인 관리

설치가 되어 있다면 다음으로 ...

 

Global Config

플러그인 설치후 다음처럼 설정을 변경해준다

Jenkins 관리 > Configure Global Security

여기에서 Authenticated Users가 admin을 제외한 계정들을 의미

최소한의 빌드 권한만 주기 위해 Overall - Read  권한만 넣어준다.

이렇게 세팅 후에 해당 계정으로 로그인 해보면 Overall은 보이지만 하얗게 공백만 보이게 된다.

이렇다면 정상!!

 

Project Config

여기까지 설정된 상태에서 해당 계정들에게 프로젝트 아이템에 접근할수 있는 권한을 주면된다.

아이템의 구성메뉴를 열어보면 다음처럼 Enable project-based security 가 생겨나고 체크 해보면 다음처럼 Matrix가 나오는데 Add user... 버튼으로 계정을 추가 해 주고 job - Build, Cancel, Read, Workspace 권한으로 최소한의 빌드 권한만 줄 수 있다.

 

이제 해당 계정으로 로그인 해보면 하얗던 Overall 화면에 권한이 부여된 아이템만 보이게 된다.

'Dev > Jenkins' 카테고리의 다른 글

Jenkis+Maven 빌드시 CharacterSet Exception  (0) 2014.12.15

기본적으로 스프링부트에 포함된 톰캣을 디폴트 상태로 잘 쓰곤 하는데 가끔 톰캣의 버전을 확인 또는 변경해야 할 일이 생기곤 한다.

임베디드 톰캣이라고는 해도 스프링 부트에 포함되어있기 때문에 프로젝트에 라이브러리가 다운로드 되어있다.

버전 확인 1

프로젝트에 있는 라이브러리를 확인해본다

스프링부트 버전은 2.6.6으로 했다

라이브러리 확인

spring-boot-starter-tomcat의 버전이 2.6.6 인걸 알수 있다.

이 라이브러리를 mvnrepository 에서 검색 후 버전에 맞는 페이지에 들어가 보면 하단에 dependency가 걸린 라이브러리의 버전을 확인 할 수있다.

스프링부트 2.6.6 버전에선 디폴트로 9.0.6 버전의 톰캣이 포함된 걸 알수 있다.

버전 확인 2

또는 라이브러리 목록에서 다음처럼 외부 라이브러리를 직접 검색해서 확인 가능하다.

똑같이 9.0.6 버전 톰캣을 확인 할 수 있다.

버전 변경 Gradle

만약 그래들을 사용중이라면 build.gradle 파일에 다음처럼 특정 버전을 명시 해줄수 있다.

ext['tomcat.version'] = '9.0.45'

버전 변경 Maven

만약 메이븐을 사용중이라면 pom.xml 에 다음처럼 특정 버전을 명시 해줄수 있다.

<properties>
    <tomcat.version>9.0.45</tomcat.version>
<properties>

 

 

참고

https://goateedev.tistory.com/135

'Dev > Springboot' 카테고리의 다른 글

@ResponseBody 사용시 한글 깨질 때  (0) 2015.05.03

가끔 S3 버킷 삭제를 하려다보면 징그럽게도 삭제가 안되는 문제와 마주친다

특히나 Beanstalk 에서 생성된 버킷이 자주 그러는데

모르면 개고생이다

버그인듯 보이나 방법은 있다..

 

버킷 선택-권한 탭-정책 영역-정책 삭제-버킷 삭제

 

이정도면 왠만한 말썽부리던 버킷은 삭제가 가능하다

 

[참조]

docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html

우선 조건이 있다.

 

1. gitlab을 도커로 운영중이다.

2. Nginx의 reverseproxy 로 gitlab 을 접근하도록 세팅이 되어있다.

 

이 상태에서 git push를 할때 제목과 같은 메세지를 만날 경우가 종종 있을것이다.

이때 대처 방법은 다음처럼 한줄 추가해주면 된다.

 

$ cd /etc/nginx
$ vi nginx.conf

꼭 nginx.conf 파일이 아니고 reverse proxy를 컨트롤 하는 영역이다

 

client_max_body_size 20M;

용량은 적절히 조절 해주면 된다.

'DevOps' 카테고리의 다른 글

AWS S3 Bucket Delete Access Deny  (0) 2021.02.25

jenkins를 사용하다보면 ssh 키를 등록해서 shellscript로 password 없이 ssh 를 접속해야 하는 상황이 온다

참고하자

 

www.blog.asamaru.net/2016/01/26/ssh-login-without-password/

 

 

타입스크립트는 기본적으로 타입스크립트는 기본적으로 타입스크립트 컴파일러만 설치 되면 사용할 수 있다.
하지만 생산성을 생각한다면 node.js 기반에서 개발하는 편이 수월하다.

 

node.js 설치

http://nodejs.org 방문후 LTS 버전 다운로드

Next 클릭 설치

 

 

Typescript 설치

 

#확인

$ node -v

$ npm -v

 

#typescript 설치

$ npm install typescript --save-dev

$ npm i typescript -D

$ npm i typescript -g

 

#컴파일

$ tsc hello.ts

docker 환경을 상황에 따라서 정리할 수 있다

 

$ docker container prune 은 중지된 모든 컨테이너를 삭제한다.
$ docker image prune 은 이름 없는 모든 이미지를 삭제한다.
$ docker network prune 은 사용하지 않는 도커 네트워크를 모두 삭제한다.
$ docker volume prune 은 도커 컨테이너에서 사용하지 않는 모든 도커 볼륨을 삭제한다.
$ docker system prune -a 는 모든 사용하지 않는 리소스를 정리한다

 

 

진행중인 프로젝트에서 webtob 를 사용중인데

웹서버 스크립트 수정후 컴파일 해야하는지 이제야 알았다 ㅋ

 

# 스크립트 수정 후 컴파일

$ vi [webtob 설치 경로]/config/http.m

 

# webtob 재기동

$ [webtob 설치 경로]/wsdown
$ [webtob 설치 경로]/wsboot

+ Recent posts