레이블이 jenkins인 게시물을 표시합니다. 모든 게시물 표시
레이블이 jenkins인 게시물을 표시합니다. 모든 게시물 표시

using jenkins api

젠킨스 api 사용하기.

jenkins ver 1.658 기준으로 작성.


------------------------------------

1. jenkins 설정의 사용자에 api token을 설정

2. 해당 job에서는 아래와같이 authentication token을 설정


api를 호출할때.

1번의 apitoken을 header에 싣기. c#으로 아래 코드.


            NameValueCollection nv = new NameValueCollection();
            String encodedTkn = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(userName + ":" + userTkn));
            nv.Add("Authorization", "Basic " + encodedTkn);
            Entity.MetaBuild result = JsonConvert.DeserializeObject<Entity.MetaBuild>(Webber.Post(url, "", ContentType.ApplicationJson, EncodingType.Utf8, null, nv).RawResult);


userName, userTken = 1번의 사용자 이름과 토큰

--------------------------------------------------------------------

api 

job list 가져오기 
localhost:8888/api/json
option :  json?tree=jobs[name,color]   (추가 옵션과 pretty는  구글링)

특정 job history 내역. 
localhost:8888/job/"+jobName+"/api/json

위 history 내역에서 수행 num에 따른 상세 정보. 

/job/" + jobName + "/" + bulidNum + "/api/json?tree=number,estimatedDuration,duration,id,buildings,result

(실행중인 job을 호출하면 status값이 success / failure등과 같이 호출때마다 값이 변경됨)

.net 배포시스템, 모니터링 인프라 구축 - (1) 시작전


몇번의 .Net framework 기반 프로젝트 배포 시스템을 구축한 경험을 정리,
공유 하고자 합니다.

정리한 내용들을 바탕으로 .Net 웹 응용프로그램 (asp.net) 이나 어플리케이션들이 .net 자동화 배포 솔루션? 프로젝트로 진행 하고자함


배포 인프라 구축시 사용 환경

 형상관리 - git (bitbucket) , tfs
 개발 - ASP.NET MVC 4.5 (include Webform2.0), Windows Service  (c#)
 컴파일 -msbuild
 CI - jenkins
 파일 전송 - rsync, robocopy
 SMS 발송 - slack


아래는 내부적으로 사용하고 있는 정기점검 프로그램
실행시 jenkins 조회 및 실행, xml파일 생성, 파일 배포등을 수행



왜 jenkins로 실행하지 않고 wrapping한 프로그램을 만들어 사용하는가? 

jenkins 화면을 외부 운영자에게 노출, 공유하기 쉽지 않아서
job 실행, 상태조회만 배포 솔루션으로써 사용할 수 있도록 만든 화면이 필요했음.


앞으로 짬날때 마다 천천히 정리할 예정.