Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
infrastructure
提交
fbf5c9fe
I
infrastructure
项目概览
openeuler
/
infrastructure
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
infrastructure
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fbf5c9fe
编写于
10月 12, 2019
作者:
T
TommyLike
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add centos arm64/v8 agent
上级
e7f3ac45
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
174 addition
and
71 deletion
+174
-71
ci/ci-server.yaml
ci/ci-server.yaml
+0
-67
ci/dockerfile/centos-jnlp/Dockerfile
ci/dockerfile/centos-jnlp/Dockerfile
+52
-0
ci/dockerfile/centos-jnlp/jenkins-agent
ci/dockerfile/centos-jnlp/jenkins-agent
+117
-0
ci/dockerfile/opensuse-jnlp/Dockerfile
ci/dockerfile/opensuse-jnlp/Dockerfile
+5
-4
未找到文件。
ci/ci-server.yaml
已删除
100644 → 0
浏览文件 @
e7f3ac45
# Config jenkins server
---
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
ci-web-service
namespace
:
ci
annotations
:
kubernetes.io/elb.class
:
union
kubernetes.io/elb.id
:
{{
ci-elb-id
}}
kubernetes.io/elb.lb-algorithm
:
ROUND_ROBIN
spec
:
externalTrafficPolicy
:
Cluster
loadBalancerIP
:
{{
ci-eip-address
}}
ports
:
-
port
:
8080
name
:
ci-web-port
nodePort
:
30071
targetPort
:
8080
protocol
:
TCP
-
port
:
50000
name
:
ci-agent-port
nodePort
:
30072
targetPort
:
50000
protocol
:
TCP
selector
:
component
:
ci-jenkins-server
type
:
LoadBalancer
# Deployment for mail web service
---
kind
:
Deployment
apiVersion
:
apps/v1
metadata
:
name
:
ci-jenkins
namespace
:
ci
labels
:
component
:
ci-jenkins-server
app
:
ci-jenkins
spec
:
replicas
:
1
selector
:
matchLabels
:
component
:
ci-jenkins-server
app
:
ci-jenkins
template
:
metadata
:
labels
:
component
:
ci-jenkins-server
app
:
ci-jenkins
spec
:
hostname
:
ci-server
containers
:
-
name
:
ci-server
image
:
slob/jenkins:v0.0.1
imagePullPolicy
:
"
IfNotPresent"
volumeMounts
:
-
mountPath
:
/var/jenkins_home
name
:
ci-runtime-data-vol
env
:
-
name
:
JAVA_OPTS
# this value may not work well, please update to configmap or delete directly
value
:
"
-Djava.util.logging.config.file=/var/jenkins_home/log.properties"
volumes
:
-
name
:
ci-runtime-data-vol
persistentVolumeClaim
:
claimName
:
ci-data-pvc
ci/dockerfile/centos-jnlp/Dockerfile
0 → 100644
浏览文件 @
fbf5c9fe
FROM
centos:7
MAINTAINER
tommylike <tommylikehu@gmail.com>
# Install jdk8 and bunch of build tools
USER
root
ENV
USER root
RUN
yum
install
-y
java-1.8.0-openjdk java-1.8.0-openjdk-devel
\
wget curl git subversion
# Setup java path
ENV
JAVA_HOME /etc/alternatives/jre
ENV
PATH $PATH:$JAVA_HOME/bin
# Install jenkins slave
ARG
VERSION=3.35
ARG
user=jenkins
ARG
group=jenkins
ARG
uid=1000
ARG
gid=1000
RUN
groupadd
-g
${
gid
}
${
group
}
RUN
useradd
-c
"Jenkins user"
-d
/home/
${
user
}
-u
${
uid
}
-g
${
gid
}
-m
${
user
}
ARG
AGENT_WORKDIR=/home/${user}/agent
RUN
mkdir
-p
/usr/share/jenkins/
\
&&
cd
/usr/share/jenkins/
\
&&
wget
-O
agent.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/
${
VERSION
}
/remoting-
${
VERSION
}
.jar
\
&&
chmod
755 /usr/share/jenkins
\
&&
chmod
644 /usr/share/jenkins/agent.jar
\
&&
ln
-sf
/usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar
# Install jnlp
COPY
jenkins-agent /usr/local/bin/jenkins-agent
RUN
chmod
+x /usr/local/bin/jenkins-agent
&&
\
ln
-s
/usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave
# Setting up env
USER
${user}
ENV
AGENT_WORKDIR=${AGENT_WORKDIR}
RUN
mkdir
/home/
${
user
}
/.jenkins
&&
mkdir
-p
${
AGENT_WORKDIR
}
VOLUME
/home/${user}/.jenkins
VOLUME
${AGENT_WORKDIR}
WORKDIR
/home/${user}
ENTRYPOINT
["jenkins-agent"]
ci/dockerfile/centos-jnlp/jenkins-agent
0 → 100755
浏览文件 @
fbf5c9fe
#!/usr/bin/env sh
# The MIT License
#
# Copyright (c) 2015-2019, CloudBees, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# Usage jenkins-agent.sh [options] -url http://jenkins [SECRET] [AGENT_NAME]
# Optional environment variables :
# * JENKINS_TUNNEL : HOST:PORT for a tunnel to route TCP traffic to jenkins host, when jenkins can't be directly accessed over network
# * JENKINS_URL : alternate jenkins URL
# * JENKINS_SECRET : agent secret, if not set as an argument
# * JENKINS_AGENT_NAME : agent name, if not set as an argument
# * JENKINS_AGENT_WORKDIR : agent work directory, if not set by optional parameter -workDir
# * JENKINS_DIRECT_CONNECTION: Connect directly to this TCP agent port, skipping the HTTP(S) connection parameter download.
# Value: "<HOST>:<PORT>"
# * JENKINS_INSTANCE_IDENTITY: The base64 encoded InstanceIdentity byte array of the Jenkins master. When this is set,
# the agent skips connecting to an HTTP(S) port for connection info.
# * JENKINS_PROTOCOLS: Specify the remoting protocols to attempt when instanceIdentity is provided.
if
[
$#
-eq
1
]
;
then
# if `docker run` only has one arguments, we assume user is running alternate command like `bash` to inspect the image
exec
"
$@
"
else
# if -tunnel is not provided, try env vars
case
"
$@
"
in
*
"-tunnel "
*
)
;;
*
)
if
[
!
-z
"
$JENKINS_TUNNEL
"
]
;
then
TUNNEL
=
"-tunnel
$JENKINS_TUNNEL
"
fi
;;
esac
# if -workDir is not provided, try env vars
if
[
!
-z
"
$JENKINS_AGENT_WORKDIR
"
]
;
then
case
"
$@
"
in
*
"-workDir"
*
)
echo
"Warning: Work directory is defined twice in command-line arguments and the environment variable"
;;
*
)
WORKDIR
=
"-workDir
$JENKINS_AGENT_WORKDIR
"
;;
esac
fi
if
[
-n
"
$JENKINS_URL
"
]
;
then
URL
=
"-url
$JENKINS_URL
"
fi
if
[
-n
"
$JENKINS_NAME
"
]
;
then
JENKINS_AGENT_NAME
=
"
$JENKINS_NAME
"
fi
if
[
-z
"
$JNLP_PROTOCOL_OPTS
"
]
;
then
echo
"Warning: JnlpProtocol3 is disabled by default, use JNLP_PROTOCOL_OPTS to alter the behavior"
JNLP_PROTOCOL_OPTS
=
"-Dorg.jenkinsci.remoting.engine.JnlpProtocol3.disabled=true"
fi
if
[
-n
"
$JENKINS_PROTOCOLS
"
]
;
then
PROTOCOLS
=
"-protocols
$JENKINS_PROTOCOLS
"
fi
if
[
-n
"
$JENKINS_DIRECT_CONNECTION
"
]
;
then
DIRECT
=
"-direct
$JENKINS_DIRECT_CONNECTION
"
fi
if
[
-n
"
$JENKINS_INSTANCE_IDENTITY
"
]
;
then
INSTANCE_IDENTITY
=
"-instanceIdentity
$JENKINS_INSTANCE_IDENTITY
"
fi
# if java home is defined, use it
JAVA_BIN
=
"java"
if
[
"
$JAVA_HOME
"
]
;
then
JAVA_BIN
=
"
$JAVA_HOME
/bin/java"
fi
# if both required options are defined, do not pass the parameters
OPT_JENKINS_SECRET
=
""
if
[
-n
"
$JENKINS_SECRET
"
]
;
then
case
"
$@
"
in
*
"
${
JENKINS_SECRET
}
"
*
)
echo
"Warning: SECRET is defined twice in command-line arguments and the environment variable"
;;
*
)
OPT_JENKINS_SECRET
=
"
${
JENKINS_SECRET
}
"
;;
esac
fi
OPT_JENKINS_AGENT_NAME
=
""
if
[
-n
"
$JENKINS_AGENT_NAME
"
]
;
then
case
"
$@
"
in
*
"
${
JENKINS_AGENT_NAME
}
"
*
)
echo
"Warning: AGENT_NAME is defined twice in command-line arguments and the environment variable"
;;
*
)
OPT_JENKINS_AGENT_NAME
=
"
${
JENKINS_AGENT_NAME
}
"
;;
esac
fi
#TODO: Handle the case when the command-line and Environment variable contain different values.
#It is fine it blows up for now since it should lead to an error anyway.
exec
$JAVA_BIN
$JAVA_OPTS
$JNLP_PROTOCOL_OPTS
-cp
/usr/share/jenkins/agent.jar hudson.remoting.jnlp.Main
-headless
$TUNNEL
$URL
$WORKDIR
$DIRECT
$PROTOCOLS
$INSTANCE_IDENTITY
$OPT_JENKINS_SECRET
$OPT_JENKINS_AGENT_NAME
"
$@
"
fi
\ No newline at end of file
ci/dockerfile/opensuse-jnlp/Dockerfile
浏览文件 @
fbf5c9fe
FROM
opensuse/leap:15.1
MAINTAINER
tommylike <tommylikehu@gmail.com>
# Install jdk8
# Install jdk8
and bunch of build tools
USER
root
ENV
USER root
RUN
zypper up
-y
\
&&
zypper
in
-y
wget
&&
zypper
in
-y
wget
\
&&
zypper
in
-y
curl
\
&&
zypper
in
-y
git
\
&&
zypper
in
-y
subversion
RUN
wget
-O
jre-8u221-linux-x64.rpm
-c
--content-disposition
"https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239847_230deb18db3e4014bb8e3e8324f81b43"
\
&&
rpm
-ivh
jre-8u221-linux-x64.rpm
\
...
...
@@ -41,8 +44,6 @@ COPY jenkins-agent /usr/local/bin/jenkins-agent
RUN
chmod
+x /usr/local/bin/jenkins-agent
&&
\
ln
-s
/usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave
#Clean up
RUN
zypper
rm
-y
wget
# Setting up env
USER
${user}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录