这是我对PEAT UK播客的逐字记录:
你好,再一次到另一个热点。 我叫Peter Pilgrim。
我曾经是DevOps专家,欢迎观看另一集。 这是11 Jenkins n AWS的第一部分,我是一名平台工程师,并且是Java Champion。
在本集中,我将讨论在AWS上设置自己的Jenkins服务器。 我将介绍简单明了的案例,仅在AMI上部署一台Jenkins服务器。 在下一集中,我将讨论Jenkins主节点和从节点。
为了进行后续操作,我将假定您已经熟悉AWS EC2,以及如何创建实例,如何启动它们,如何停止它们以及肯定如何终止它们。 如果您不确定其中任何一项,则需要退后一步并事先了解AWS的工作方式。
在随后的演出中,我将通过主从演出来介绍Jenkins AWS EC2实例。
让我们继续前进,我从Jenkins开始的方式是我选择了Amazon Machine Image,AMI,并且选择了一个典型的可t2.micro
实例( t2.micro
)
导航到适用于您的AWS账户的AWS控制台,转到“服务”下拉列表,导航至EC2仪表板。 我选择了Amazon Linux AMI 201803和t2.micro(这也是免费套餐)。 该AMI具有1个VCPU,1 GB内存和中低性能。 我将此AMI配置到您的VPC,您不需要任何特别性感的东西作为VPC,如果您正在试验,则可以使用默认值。 如果您在公司环境中运行,则可能需要一个子网和CIDR /范围(与技术主管/ DevOps负责人/云管理联系以获取必要的权限和信息)。 您确实需要一个自动分配的公共IP,接受8GB硬盘,并添加一个“ Jenkins master”之类的名称标签。 创建此EC2实例大约需要3分钟。 在一年中,在安全组中享受设置了入站HTTP端口8080和SSH端口20
因此,我在您的EC2实例中创建了一个Jenkins服务器主服务器,检查并验证设置。 启动EC2实例。 您根本不需要创建任何用户数据。
现在,您需要看一下我的博客文章,因为这是广播。 现在,您需要使用公共IP SSH进入正在运行的EC2实例,该实例将运行Jenkins。 以ec2user身份登录实例。
首先,您必须执行YUM更新。
sudo yum update -y
然后,我们添加一个Jenkins存储库并启动System V作业。
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
$ sudo yum install jenkins -y
此时,您应该浏览在EC2实例上运行的Jenkins。 将您喜欢的浏览器指向http://publicly-assigned-IP-address:8080/
将会出现一个要求输入主密码的屏幕。 您将在以下内容中找到它
$ ls -l /var/lib/jenkins/secrets/initialAdminPassword
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
现在使用命令sudo service jenkins sta
rt停止Jenkins Server
在此Amazon AMI linux中,我删除了较旧的Java 7软件包,然后安装了OpenJDK 8和运行时环境。
$ which java
$ java -version
$ sudo yum remove java-1.7.0-openjdk
现在,使用以下命令安装JDK 8:
$ sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
$ which java
$ java -version
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
$ ls -l /usr/lib/jvm I also install extra Linux utilities in order to send email to other servers.sudo yum install git mailx mailutils
您可能还需要GNU C ++和Redhat Linux的其他本机库,但这将是轻量级的Jenkins服务器。 因此,YAGNI规则适用
我实际上使用WGet下载Apache Maven,Gradle和Groovy
$ mkdir ~/Products
$ cd ~/Products
$ wget http://www.mirrorservice.org/sites/ftp.apache.org/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip
$ sudo unzip apache-maven-3.5.4-bin.zip -d /usr/local/$ wget https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.5.2.zip
$ sudo unzip apache-groovy-binary-2.5.2.zip -d /usr/local$ wget https://services.gradle.org/distributions/gradle-4.9-bin.zip
$ sudo unzip gradle-4.9-bin.zip -d /usr/local
我还为Linux设置了我最喜欢的Bash配置文件,该配置文件是精简版,没有任何花招。 看起来有点像这样:
### .${HOME}/bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsexport GRADLE_HOME=/usr/local/gradle-4.9
export GROOVY_HOME=/usr/local/groovy-2.5.2
export M2_HOME=/usr/local/apache-maven-3.5.4
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64export ORIGINAL_PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:${HOME}/.local/bin:${HOME}/binPATH=.:${HOME}/.local/bin:${HOME}/bin:\
${GRADLE_HOME}/bin:${GROOVY_HOME}/bin:${M2_HOME}/bin:\
${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:\
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin
export PATH
请注意,从上面可以注意到,为防止SNAFU,我保存了原始的AMI默认系统PATH。
然后,我停止并使用管理密码重新启动了Jenkins访问。
返回AWS控制台EC2仪表板。 为您的私人目的创建自定义AMI,并命名为Jenkins master Linux AMI。
旁注:是的,我已经知道了,您使用诸如Ansible或Terraform之类的配置工具在AWS上设置了Jenkins,但对于学习者来说,在使用中间工具之前最好直接掌握AWS控制台和EC2仪表板。
翻译自: https://www.javacodegeeks.com/2018/09/jenkins-on-aws-part-1.html