FROM swr.cn-north-4.myhuaweicloud.com/openeuler/openjdk/OPENJDK:TAG

#RUN sed -i "s/repo.openeuler.org/repo.huaweicloud.com\/openeuler/g"  /etc/yum.repos.d/openEuler.repo && \
#	sed -i "s#http#https#g" /etc/yum.repos.d/openEuler.repo && \
RUN yum install -y curl sudo cpio bsdtar expect openssh shadow vim git strace python3 python3-pip build osc pylint  libabigail

# add 20230330
#RUN yum install -y --skip-broken ruby rubygems gcc gcc-c++ make ruby-devel git lftp util-linux diffutils make && \
#	gem sources -r https://rubygems.org/ -a https://gems.ruby-china.com/ && \
#	gem install -f git activesupport:6.1.4.4 rest-client faye-websocket md5sum base64

# libabigail perl-XML-Structured not ready yet, use SP2 dailybuild
#RUN set -eux; \
#	arch="$(arch)"; \
#	yum install -y http://121.36.53.23/SP2/libabigail-1.6-4.oe1.$arch.rpm; 
	#yum install -y http://121.36.53.23/SP2/perl-XML-Structured-1.3-2.oe1.$arch.rpm

#ARG VERSION=4.3
ARG VERSION=3107.v665000b_51092
ARG user=jenkins
ARG group=jenkins
ARG uid=1000
ARG gid=1000
ARG AGENT_WORKDIR=/home/${user}/agent

RUN curl --create-dirs -fsSLo /usr/share/jenkins/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

RUN curl --create-dirs -fsSLo /usr/local/bin/jenkins-agent http://121.36.53.23/AdoptOpenJDK/jenkins-agent
#COPY jenkins-agent /usr/local/bin/jenkins-agent

RUN chmod a+rx /usr/local/openjdk-17 \
     && chmod a+rx /usr/local/bin/jenkins-agent \
     && ln -s /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave
RUN whoami
RUN groupadd -g ${gid} ${group}
RUN useradd -c "Jenkins user" -d /home/${user} -u ${uid} -g ${gid} -m ${user}
RUN echo "${user} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
USER ${user}

#USER ${user}
ENV AGENT_WORKDIR=${AGENT_WORKDIR}
RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR}

VOLUME /home/${user}/.jenkins
VOLUME ${AGENT_WORKDIR}
WORKDIR ${AGENT_WORKDIR}


ENTRYPOINT ["jenkins-agent"]