Amazon Linux2部署安装Jenkins

先决条件

  1. 服务器配置要求
    • 256 MB of RAM

    • 1 GB of drive space (although 10 GB is a recommended minimum if running Jenkins as a Docker container)

  2. 需要部署安装JDK环境
  3. 部署安装的Jenkins版本为Version 2.400

部署安装JDK

1. 下载JDK软件包

wget https://corretto.aws/downloads/resources/11.0.19.7.1/amazon-corretto-11.0.19.7.1-linux-x64.tar.gz

2. 解压软件包

tar xzvf amazon-corretto-11.0.19.7.1-linux-x64.tar.gz

3.将解压之后的目录拷贝到/usr/local目录下

sudo mv amazon-corretto-11.0.19.7.1-linux-x64  /usr/local/

4. 配置JAVA_HOME环境变量信息,主要是往/etc/profile文件内容追加如下内容信息

export JAVA_HOME=/usr/local/amazon-corretto-11.0.19.7.1-linux-x64
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

重要说明:JDK版本从9之后开始默认没有集成jre,若要生成jre可以执行如下命令

自 JDK 9 起,Oracle 将 JRE 从 JDK 中移除。因此,在 JDK 11 及更高版本中,不能直接生成 JRE。

不过,您仍然可以使用 jlink 工具来创建一个自定义运行时镜像,其中只包含您需要的 Java 模块。使用 jlink 命令,您可以指定要包含在运行时镜像中的模块,并且可以通过使用 --output 选项来指定输出目录。例如:

 
   

复制代码

jlink --module-path --add-modules --output

在上面的命令中, 是指包含模块的目录或路径, 是以逗号分隔的模块列表, 是输出目录。

例如,以下命令会将 java.basejava.logging 模块包含在运行时镜像中,并将其输出到名为 myjre 的目录中:

 
   

复制代码

jlink --module-path $JAVA_HOME/jmods --add-modules java.base,java.logging --output myjre

这将创建一个包含所需模块的 JRE 镜像,您可以将其部署到目标计算机并使用它来运行您的应用程序。

实际生成过程

[ec2-user@master ~]$ ls /usr/local/amazon-corretto-11.0.19.7.1-linux-x64/
ADDITIONAL_LICENSE_INFO  ASSEMBLY_EXCEPTION  bin  commitId.txt  conf  include  jmods  legal  lib  LICENSE  man  README.md  release  version.txt
[ec2-user@master ~]$ cd /usr/local/amazon-corretto-11.0.19.7.1-linux-x64/
[ec2-user@master amazon-corretto-11.0.19.7.1-linux-x64]$ jlink --module-path jmods --add-modules java.base,java.logging --output jre
[ec2-user@master amazon-corretto-11.0.19.7.1-linux-x64]$ ls
ADDITIONAL_LICENSE_INFO  ASSEMBLY_EXCEPTION  bin  commitId.txt  conf  include  jmods  jre  legal  lib  LICENSE  man  README.md  release  version.txt
[ec2-user@master amazon-corretto-11.0.19.7.1-linux-x64]$ ls jre/
bin  conf  include  legal  lib  release
[ec2-user@master amazon-corretto-11.0.19.7.1-linux-x64]$

利用war文件部署Jenkins

1. 下载war文件

wget  https://sg.mirror.servanamanaged.com/jenkins/war/2.400/jenkins.war

2.将文件移动到专门存放的目录

sudo mkdir -p /opt/jenkins
sudo cp /home/ec2-user/jenkins.war /opt/jenkins/

3. 直接运行如下命令启动Jenkins

java -jar jenkins.war 【启动之后,默认端口号为8080】

 4. 使用 systemd 服务来管理jenkins

sudo useradd -m -s /usr/sbin/nologin jenkins
sudo su -
cat >/etc/systemd/system/jenkins.service<

实际测试效果

[root@master ~]# sudo mkdir -p /opt/jenkins
[root@master ~]# sudo cp /home/ec2-user/jenkins.war /opt/jenkins/
[root@master ~]# sudo systemctl disable jenkins
Removed symlink /etc/systemd/system/multi-user.target.wants/jenkins.service.
[root@master ~]# cat >/etc/systemd/system/jenkins.service< [Unit]
> Description=Jenkins Daemon
> After=network.target
>
> [Service]
> Type=simple
> ExecStart=/usr/local/amazon-corretto-11.0.19.7.1-linux-x64/bin/java -jar  /opt/jenkins/jenkins.war
> User=jenkins
> Restart=always
>
> [Install]
> WantedBy=multi-user.target
>
> EOF
[root@master ~]# sudo systemctl daemon-reload
[root@master ~]# sudo systemctl enable jenkins --now
Created symlink from /etc/systemd/system/multi-user.target.wants/jenkins.service to /etc/systemd/system/jenkins.service.
[root@master ~]# sudo systemctl status jenkins
● jenkins.service - Jenkins Daemon
   Loaded: loaded (/etc/systemd/system/jenkins.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-04-19 12:58:11 UTC; 3s ago
 Main PID: 9340 (java)
    Tasks: 36
   Memory: 211.2M
   CGroup: /system.slice/jenkins.service
           ├─9340 /usr/local/amazon-corretto-11.0.19.7.1-linux-x64/bin/java -jar /opt/jenkins/jenkins.war
           ├─9660 bash -c exec 4

5. 查看监听的端口

[root@master ~]# jps
23371 -- process information unavailable
9340 war
12525 Jps
[root@master ~]# netstat -tnlp|grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      9340/java
[root@master ~]#


 

 访问Jenkins地址

1. 打开访问URL之后,显示如下

Amazon Linux2部署安装Jenkins_第1张图片

 2. 根据要求输入管理员密码,登录效果如下

Amazon Linux2部署安装Jenkins_第2张图片

3. 可以直接选择【安装推荐的插件】

Amazon Linux2部署安装Jenkins_第3张图片

 

4.  根据提示创建用户

Amazon Linux2部署安装Jenkins_第4张图片

5.根据向导完善用户信息

Amazon Linux2部署安装Jenkins_第5张图片 6.  实例配置保持默认即可

Amazon Linux2部署安装Jenkins_第6张图片

Amazon Linux2部署安装Jenkins_第7张图片 

 Amazon Linux2部署安装Jenkins_第8张图片

使用Jenkins部署应用

 1. 在github上创建项目空间,如“javacode"

2. 直接在jenkins服务器上部署安装git软件【具体安装过程忽略】

3. 在服务器上创建javacode目录,并初始化git环境

mkdir javacode

cd javacode

git init

4. 创建代码目录src目录

mkdir src

5.在src目录下开发第一个版本HelloWorld.java,源码如下

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}

6. 将src目录加入git

git add src

7. 配置git的用户信息

git config --global user.name "your_git_username"

git config --global user.email "your_email"

8.查看当前git管理的代码状态

git status .

[ec2-user@master javacode]$ git status ./

On branch master

No commits yet

Changes to be committed:

        (use "git rm --cached ..." to unstage)

        new file: src/HelloWorld.java

[ec2-user@master javacode]$

9. 提交代码到Github

git commit -m "Version 1"

git branch -M main

git remote add origin [email protected]:your_git_user_name/javacode.git

git remote set-url origin https://github.com/your_git_user_name/javacode.git

git push -u origin main

10. 前往git仓库确认代码是否成功push到git仓库中

11. Jenkins主页中创建一个项目任务

Amazon Linux2部署安装Jenkins_第9张图片

12.  选择Freestyle project【自由风格】项目,单击【确定】

Amazon Linux2部署安装Jenkins_第10张图片

 

13. 根据向导完善其他内容

Amazon Linux2部署安装Jenkins_第11张图片

 Amazon Linux2部署安装Jenkins_第12张图片

Amazon Linux2部署安装Jenkins_第13张图片 

在build steps中选择【增加构建步骤】,然后选择【执行shell】

Amazon Linux2部署安装Jenkins_第14张图片 

 其中执行的shell脚本配置信息如下

Amazon Linux2部署安装Jenkins_第15张图片

所有配置设置完成之后点击【保存】

Amazon Linux2部署安装Jenkins_第16张图片

 

点击【立即构建】

Amazon Linux2部署安装Jenkins_第17张图片

 项目构建中

Amazon Linux2部署安装Jenkins_第18张图片

 点击构建的任务然后点击【控制台输出】查看日志输出结果

Amazon Linux2部署安装Jenkins_第19张图片

 上述报错主页是没有在Jenkins控制台上配置JAVA_HOME路径导致找不到,配置好后修复

最后成功构建的信息如下

Amazon Linux2部署安装Jenkins_第20张图片

 

 参考资料

1. WAR file

2. Releases · corretto/corretto-11 · GitHub

3. Downloads for Amazon Corretto 17 - Amazon Corretto 17 

4. javacode/HelloWorld.java at main · lgb861213/javacode · GitHub 

你可能感兴趣的:(jenkins,运维,docker)