Selenium with Github

Jenkins와 Github

Jenkins에 Git plugin 설치

image

Jenkins에 접속하고 좌측에 Jenkins관리 메뉴를 클릭한다.

image

클릭 후 나오는 메뉴들 중 플러그인 관리 클릭. 클릭 후 탭에서 설치 가능 탭을 선택하고 우측 상단에서 Git라는 검색어로 플러그인을 검색한다.

image image

결과 내에서 Git pluginGitHub plugin을 선택하고 지금 다운로드하고 재시작 후 설치하기를 클릭한다(필요하다면 나오는 관련 Git 관련 플러그인을 설치해도 무방하다).

image

Plugin 설정

이제 Github에서 변화가 있을 경우에 특정 프로젝트에 자동으로 빌드를 유발하기 위해서 해당 프로젝트를 선택하고 구성을 선택한다.

image

소스 코드 관리 메뉴에서 Git을 선택하고 바라볼 Repository의 Url을 입력한다. 하단의 Branches to build는 Repository에서도 특정 Branch만을 바라볼 수 있도록 하는 설정이다.

image

아래로 내려오면 빌드 유발 부분이 있는데 이 중에서 Poll SCM을 선택해 바라보는 Branch를 일정 시간마다 검사를 해서 변동이 있을경우 빌드를 하도록 한다(Build when a change is pushed to GitHub라는 부분이 좀더 맞을 것 같지만 Poll SCM이 더 간단하므로 Polling하는 방법을 사용하였다.).

우측의 ?를 선택하면 변경사항을 검사할 주기를 입력하는 문법을 볼 수 있다. 사진에서 */1 * * * *는 1분마다 변경사항을 확인한다는 의미이다(테스트를 위해 주기를 짧게 하였다.).

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
32
33
34
35
This field follows the syntax of cron (with minor differences). Specifically, each line consists of 5 fields separated by TAB or whitespace:
MINUTE HOUR DOM MONTH DOW
MINUTE	Minutes within the hour (0–59)
HOUR	The hour of the day (0–23)
DOM	The day of the month (1–31)
MONTH	The month (1–12)
DOW	The day of the week (0–7) where 0 and 7 are Sunday.
To specify multiple values for one field, the following operators are available. In the order of precedence,

* specifies all valid values
M-N specifies a range of values
M-N/X or */X steps by intervals of X through the specified range or whole valid range
A,B,...,Z enumerates multiple values
To allow periodically scheduled tasks to produce even load on the system, the symbol H (for “hash”) should be used wherever possible. For example, using 0 0 * * * for a dozen daily jobs will cause a large spike at midnight. In contrast, using H H * * * would still execute each job once a day, but not all at the same time, better using limited resources.

The H symbol can be used with a range. For example, H H(0-7) * * * means some time between 12:00 AM (midnight) to 7:59 AM. You can also use step intervals with H, with or without ranges.

The H symbol can be thought of as a random value over a range, but it actually is a hash of the job name, not a random function, so that the value remains stable for any given project.

Beware that for the day of month field, short cycles such as */3 or H/3 will not work consistently near the end of most months, due to variable month lengths. For example, */3 will run on the 1st, 4th, …31st days of a long month, then again the next day of the next month. Hashes are always chosen in the 1-28 range, so H/3 will produce a gap between runs of between 3 and 6 days at the end of a month. (Longer cycles will also have inconsistent lengths but the effect may be relatively less noticeable.)

Empty lines and lines that start with # will be ignored as comments.

In addition, @yearly, @annually, @monthly, @weekly, @daily, @midnight, and @hourly are supported as convenient aliases. These use the hash system for automatic balancing. For example, @hourly is the same as H * * * * and could mean at any time during the hour. @midnight actually means some time between 12:00 AM and 2:59 AM.

Examples:

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours every weekday (perhaps at 9:38 AM, 11:38 AM, 1:38 PM, 3:38 PM)
H 9-16/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *

설정 후

설정 후 바라보도록 한 develop브랜치에 변동사항이 있는 경우 자동으로 빌드를 수행하는 것을 확인하였다.