<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Jenkins on Junroot&#39;s blog</title>
    <link>https://junroot.github.io/blog/tags/jenkins/</link>
    <description>Recent content in Jenkins on Junroot&#39;s blog</description>
    <generator>Hugo -- 0.128.0</generator>
    <language>en-us</language>
    <atom:link href="https://junroot.github.io/blog/tags/jenkins/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Jenkins controller-agent 재시작과 job 재개</title>
      <link>https://junroot.github.io/blog/posts/jenkins-controller-agent-%EC%9E%AC%EC%8B%9C%EC%9E%91%EA%B3%BC-job-%EC%9E%AC%EA%B0%9C/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://junroot.github.io/blog/posts/jenkins-controller-agent-%EC%9E%AC%EC%8B%9C%EC%9E%91%EA%B3%BC-job-%EC%9E%AC%EA%B0%9C/</guid>
      <description>실행 중이던 job이 재시작을 견디느냐는 실행 상태가 어디에 얼마나 자주 디스크로 내려가 있느냐로 갈린다. 재개(resume)는 마법이 아니라 직렬화된 상태를 다시 읽어 들이는 것이다. 그래서 job 종류에 따라 답이 완전히 다르다. Freestyle job은 재개되지 않는다. 빌드 컨텍스트를 복원할 방법이 없어서, controller가 죽으면 실행 중이던 빌드는 그대로 중단된다. 재개를 논할 수 있는 것은 Pipeline(workflow-job)뿐이다. Pipeline이 재개되려면 두 곳의 상태가 모두 살아 있어야 한다. 축이 다르므로 따로 봐야 한다. controller 쪽: 파이프라인 프로그램이 어느 스텝까지 진행됐는지(CPS 실행 상태).</description>
    </item>
    <item>
      <title>Jenkins master-agent 통신</title>
      <link>https://junroot.github.io/blog/posts/jenkins-controller-agent-%ED%86%B5%EC%8B%A0/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://junroot.github.io/blog/posts/jenkins-controller-agent-%ED%86%B5%EC%8B%A0/</guid>
      <description>Jenkins의 master-agent 통신은 Remoting이라는 라이브러리가 담당한다. TCP 기반 통신 프로토콜, 원격 프로시저 호출(RPC), 원격 클래스 로딩, 데이터 스트리밍을 구현한 통신 계층이다. 용어: 예전의 master는 지금 controller, slave는 agent로 이름이 바뀌었다(2020년경). 이 글에서는 controller/agent로 쓴다. 핵심은 controller와 agent가 하나의 양방향 채널(channel) 을 열고, 그 위로 직렬화된 자바 객체를 주고받는다는 것이다. 프로토콜과 포트는 이 채널을 어떻게 뚫느냐의 문제일 뿐이고, 채널이 뚫린 뒤 그 위에서 무엇이 흐르느냐가 본질이다. 아키텍처 전제: 두뇌는 controller에만 있다 agent는 controller에 접속하는 작은 자바 프로세스(agent.</description>
    </item>
  </channel>
</rss>
