DEVOPS技术实践_10:安装部署Artifactory
需要一种机制去存储所有的二进制代码(build,packages,third-party plugins等)到类似于版本控制系统的系统。
像Git,SVN存储代码,它们存储的往往是源代码,不是二进制文件。Artifactory或者Nexus就是和Jenkins紧密集成的二进制文件存储库系统。
可以带来以下好处:
追踪构建(谁触发?谁构建)
依赖关系
部署历史
jfrog artifactory是一款二进制存储管理工具,用来管理构建工具(如:maven、gradle)等所依赖的二进制仓库,以方便管理第三方库和发布目标版本库,从而提高软件开发效率。它提供大量的插件以利于和不同工具之间的整合,内部使用权限管理更加安全,并支持高并发等等特性。
下图描述了二进制库工具和Jenkins结合在一起如何存储artifacts.

一 安装部署Artifactory
1.1 安装JAVA
[root@node4 ~]# yum install java-1.8.0-openjdk-devel.x86_64
[root@node4 logs]# vi /etc/profile
[root@node4 logs]# source /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@node4 ~]# java -version

通过zip包方式安装jfrog
jfrog的安装有两种方式,第一种是通过zip包的方式进行安装,第二种是通过yum或者rpm方式进行安装。
在此我们先介绍zip包方式的安装,可以通过如下网址查看zip包的相关信息:
https://bintray.com/jfrog/artifactory/jfrog-artifactory-oss-zip
以上连接打开后

1. 2 复制连接地址,并下载
[root@node4 ~]# cd /usr/local/src/
[root@node4 src]# wget https://bintray.com/jfrog/artifactory/download_file?file_path=jfrog-artifactory-oss-6.13.1.zip
[root@node4 src]# unzip -q download_file\?file_path\=jfrog-artifactory-oss-6.13.1.zip -d /usr/local/
[root@node4 src]# mv /usr/local/artifactory-oss-6.13.1 /usr/local/jfrog
[root@node4 src]# ll /usr/local/jfrog
-rw-r--r-- root root Oct : Access-Third-Parties-Usage-About-Box.html
drwxr-xr-x root root Oct : bin
-rw-r--r-- root root Oct : COPYING.AFFERO
drwxr-xr-x root root Oct : etc
drwxr-xr-x root root Oct : logs
drwxr-xr-x root root Oct : misc
-rw-r--r-- root root Oct : README.txt
-rw-r--r-- root root Oct : Third-Parties-Usage-About-Box.html
drwxr-xr-x root root Oct : tomcat
drwxr-xr-x root root Oct : webapps
1.3 启动
[root@node4 src]# /usr/local/jfrog/bin/artifactoryctl start
Found java executable in JAVA_HOME (/usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64/)
Using CATALINA_BASE: /usr/local/jfrog/tomcat
Using CATALINA_HOME: /usr/local/jfrog/tomcat
Using CATALINA_TMPDIR: /usr/local/jfrog/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64/
Using CLASSPATH: /usr/local/jfrog/tomcat/bin/bootstrap.jar:/usr/local/jfrog/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /usr/local/jfrog/run/artifactory.pid
Existing PID file found during start.
Removing/clearing stale PID file.
Tomcat started.
[root@node4 logs]# ps -ef |grep java
root : pts/ :: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64//bin/java -Djava.util.logging.config.file=/usr/local/jfrog/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xms512m -Xmx4g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=kill -9 %p -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF8 -Dartdist=zip -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.security.egd=file:/dev/./urandom -Dartifactory.home=/usr/local/jfrog -Dfile.encoding=UTF8 -Djruby.bytecode.version=1.8 -Djruby.compile.invokedynamic=false -Djfrog.join.key.paths=/usr/local/jfrog -Dignore.endorsed.dirs= -classpath /usr/local/jfrog/tomcat/bin/bootstrap.jar:/usr/local/jfrog/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/jfrog/tomcat -Dcatalina.home=/usr/local/jfrog/tomcat -Djava.io.tmpdir=/usr/local/jfrog/tomcat/temp org.apache.catalina.startup.Bootstrap start
[root@node4 logs]# ps -ef |grep jfrog
root : pts/ :: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64//bin/java -Djava.util.logging.config.file=/usr/local/jfrog/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xms512m -Xmx4g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=kill -9 %p -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF8 -Dartdist=zip -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.security.egd=file:/dev/./urandom -Dartifactory.home=/usr/local/jfrog -Dfile.encoding=UTF8 -Djruby.bytecode.version=1.8 -Djruby.compile.invokedynamic=false -Djfrog.join.key.paths=/usr/local/jfrog -Dignore.endorsed.dirs= -classpath /usr/local/jfrog/tomcat/bin/bootstrap.jar:/usr/local/jfrog/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/jfrog/tomcat -Dcatalina.home=/usr/local/jfrog/tomcat -Djava.io.tmpdir=/usr/local/jfrog/tomcat/temp org.apache.catalina.startup.Bootstrap start
通过上图,可以很明显的看出jfrog已经正常启动,并且也可以看出jfrog默认监听的是8081端口。
http://192.168.132.134:8081/artifactory/webapp/#/login
jfrog默认的端口是8081,默认的用户名和密码是:admin/password。

1.4 登陆进入

安装完成
二 Jenkins集成
2.1 添加凭据

2.2 Jenkins安装artifactory插件


重启jenkins
2.3 配置artifactory

配置并测试

测试成功连接,点击保存
三 创建一个项目
admin-->local

点击new

选择generc

名称example-project

保存结束
DEVOPS技术实践_10:安装部署Artifactory的更多相关文章
- Azure DevOps Server 入门实践与安装部署
一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...
- Git--02 Devops介绍及git安装部署
目录 1. Devops介绍 01. 运维介绍 02. Devops是什么 03. Devops能干嘛 04. Devops如何实现 2. Git版本控制系统 01. 版本控制系统简介 02. 为什么 ...
- DEVOPS技术实践_14:使用docker部署jenkins
一 基础环境准备 [root@node6 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node6 ~]# yum -y ...
- DEVOPS技术实践_17:Jenkins使用扩展邮件功能发送邮件
一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配 ...
- DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础
1. 分支策略 持续集成中使用的分支策略包括以下三个: The master branch The integration branch The feature branch 而CD只在Integra ...
- DEVOPS技术实践_12:创建持续集成的管道
持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 ...
- DEVOPS技术实践_11:Jenkins集成Sonar
前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...
- DEVOPS技术实践_06:sonar与Jenksin集成
代码质量管理平台 一.checkout和打包功能 1.1 gitlab在新建一个文件 后续在写入内容 1.2 Jenkins新建一个任务 两个参数 1.3 流水线配置 copy仓库地址: http:/ ...
- DEVOPS技术实践_03:Jenkins自动构建
一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---- ...
随机推荐
- WPF 线段Line过长渲染出现的问题
原文:WPF 线段Line过长渲染出现的问题 在使用WPF的时候,可以做一个实验,在canvas里添加一条线段Line,StrokeThickness属性设置为1,然后通过放大canvas或者调整li ...
- python 文本文件的操作
- 洛谷P1049 装箱问题
//01背包 价值等于体积 求所剩最小体积 #include<bits/stdc++.h> using namespace std; ; ; int c,n,v[maxn],f[maxv] ...
- 学习layer弹层组件移动版
layer弹层组件官网 常用参数: shadeClose:默认true,是否点击遮罩时关闭层
- React事件用法
一.事件处理函数的使用 1.1 绑定事件处理函数 1.2 使用 <HelloWorld onClick={this.handleClick}/> 大括号中指定的是this对象即当前组件引用 ...
- 三分钟学会@Autowired@Qualifier@Primary注解
三分钟学会@Autowired@Qualifier@Primary注解 2018.10.08 20:24 154浏览 今天主要简单的跟大家介绍一下spring自动装配相关的@Autowired,@Qu ...
- 模板——Treap实现名次树
Treap 是一种通过赋予结点随机权值的一种满足堆性质的二叉搜索树,它很好的解决了二叉搜索树顺序插入组成链式的局限性. 名次树是指在treap的每个结点中添加附加域size,表示以它为根的子树的总结点 ...
- C# 操作XML学习笔记
1. Customers.xml <?xml version="1.0" encoding="utf-8"?> <cust:customers ...
- 2019-10-19-dotnet-给MatterMost订阅RSS博客
title author date CreateTime categories dotnet 给MatterMost订阅RSS博客 lindexi 2019-10-19 08:12:36 +0800 ...
- Python3 dir() 函数
Python dir() 函数 描述 dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数包含方法__dir__(),该方法将被调用.如 ...