需要一种机制去存储所有的二进制代码(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的更多相关文章

  1. Azure DevOps Server 入门实践与安装部署

    一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...

  2. Git--02 Devops介绍及git安装部署

    目录 1. Devops介绍 01. 运维介绍 02. Devops是什么 03. Devops能干嘛 04. Devops如何实现 2. Git版本控制系统 01. 版本控制系统简介 02. 为什么 ...

  3. DEVOPS技术实践_14:使用docker部署jenkins

    一 基础环境准备 [root@node6 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node6 ~]# yum -y ...

  4. DEVOPS技术实践_17:Jenkins使用扩展邮件功能发送邮件

    一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配 ...

  5. DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础

    1. 分支策略 持续集成中使用的分支策略包括以下三个: The master branch The integration branch The feature branch 而CD只在Integra ...

  6. DEVOPS技术实践_12:创建持续集成的管道

    持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 ...

  7. DEVOPS技术实践_11:Jenkins集成Sonar

    前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...

  8. DEVOPS技术实践_06:sonar与Jenksin集成

    代码质量管理平台 一.checkout和打包功能 1.1 gitlab在新建一个文件 后续在写入内容 1.2 Jenkins新建一个任务 两个参数 1.3 流水线配置 copy仓库地址: http:/ ...

  9. DEVOPS技术实践_03:Jenkins自动构建

    一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---- ...

随机推荐

  1. idea 使用优化

    1.创建类的模板 /** * Copyright (C), 2015-${YEAR}, XXX有限公司 * FileName: ${NAME} * Author: ${USER} * Date: ${ ...

  2. oracle函数 chartorowid(c1)

    [功能]转换varchar2类型为rowid值 [参数]c1,字符串,长度为18的字符串,字符串必须符合rowid格式 [返回]返回rowid值 [示例] SELECT chartorowid('AA ...

  3. Hbase数据模型 列族

  4. 深度解读Helm 3: 犹抱琵琶半遮面

    自去年年初开始放风Helm v3将要开始开发,到去年年底KubeConn 上海被一堆人追问到底啥时候发版本.今年五月份,Helm v3 终于发布了第一个alpha版本,让我们来一窥新版本的Helm 到 ...

  5. uva 11174 Stand in a Line (排列组合)

    UVa Online Judge 训练指南的题目. 题意是,给出n个人,以及一些关系,要求对这n个人构成一个排列,其中父亲必须排在儿子的前面.问一共有多少种方式. 做法是,对于每一个父节点,将它的儿子 ...

  6. hdu 3805 Triangle Conjecture

    Problem - 3805 题意是给出边的长度的,求出边长相等的三角形,输出任意一种答案.边长是1~n的数,每个只能用一次. 其实比较容易可以看出,无论我们怎么操作,只要保持边长总和都是相邻整数就是 ...

  7. SuperSocket SuperWebSocket并发数100限制的问题

    var wsSer = new WebSocketServer(); wsSer.NewMessageReceived += wsSer_NewMessageReceived;//有消息传入时事件 w ...

  8. www的iptables实例

    #!/bin/bash export PATH=/sbin:/usr/sbin:/bin:/usr/bin #加载相关模块 modprobe iptable_nat modprobe ip_nat_f ...

  9. Element节点输出到System.out

    protected void writeElementToFile(Element valrespEle) { try { TransformerFactory transformerFactory ...

  10. java一维数组的声明与初始化

    一维数组:可以理解为一列多行.类型相同的数据,其中每个数据被称为数组元素: 一维数组的声明方式: type varName[]; 或 type[] varName;(推荐) Eg:int age[]; ...