安装并配置Jfrog-Artifactory

2021-08-19  本文已影响0人  野生DBNull

1.Jfrog-Artifactory介绍

先贴出Jfrog-Artifactory官网地址

这玩意说白了就是一个还算比较好用的产物存储仓库,升级版FTP,带界面。
这次已开源阉割版作为案例,买不起企业版,一提这个企业版就流口水......
(柠檬精酸一下:有钱大佬买得起企业版的话,那这就是一个牛逼克拉斯的玩意,贼全,贼好用)

一般用来存储Jenkins的构建包,且支持RestfulApi,反正就很好用就对了。

2.安装Jfrog-Artifactory

官网文档
使用Docker安装省时,省事。

docker run --name \
artifactory --restart=unless-stopped \
-d \
-p 8081:8081 \
-p 8082:8082 \
-v /data/artifactory:/var/opt/jfrog/artifactory \
releases-docker.jfrog.io/jfrog/artifactory-oss:latest

开放对应端口

firewall-cmd --zone=public --add-port=8081-8082/tcp --permanent
firewall-cmd --reload

等待Docker跑起来就直接访问界面 http://192.168.1.110:8082
默认密码是admin:password

image.png

点进去后按照新手引导进行配置一下就好了。

3.配置Jfrog-Artifactory

3.1 配置上传大小限制

image.png
image.png

这里自己根据项目情况按需添加,写0代表没得限制

3.2 配置上传账号

这个新建一个用户,新建一个组,将用户加入到这个组中,在组上配置权限就好可以


image.png

3.3 配置存储库

image.png
image.png

看到这个界面我就觉得有钱真棒,好气啊,没钱得我只能选择第一个

把仓库的key输入一下点击完成就好了,其他的高级玩法就是点击每个值上面的小问号去研究了。

3.4 手动上传一个文件

image.png

4. 配置NGINX代理

官方教程

如果在上传到最后会有一丢丢卡顿就需要加上proxy_request_buffering off;这一个配置。

4.1 Https
## add ssl entries when https has been set in config
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_certificate      /etc/nginx/ssl/yourdomain.com.crt;
ssl_certificate_key  /etc/nginx/ssl/yourdomain.com.key;
ssl_session_cache shared:SSL:1m;
ssl_prefer_server_ciphers   on;
## server configuration
server {
    listen 443 ssl;
    listen 80 ;
      
    server_name yourdomain.com;
 
    if ($http_x_forwarded_proto = '') {
        set $http_x_forwarded_proto  $scheme;
    }
    ## Application specific logs
    ## access_log /var/log/nginx/yourdomain.com-access.log timing;
    ## error_log /var/log/nginx/yourdomain.com-error.log;
    rewrite ^/$ /ui/ redirect;
    rewrite ^/ui$ /ui/ redirect;
    chunked_transfer_encoding on;
    client_max_body_size 0;
    location / {
        proxy_read_timeout  2400s;
        proxy_pass_header   Server;
        proxy_cookie_path   ~*^/.* /;
        proxy_pass          http://<artifactory-ip>:8082;
        proxy_next_upstream error timeout non_idempotent;
        proxy_next_upstream_tries    1;
        proxy_set_header    X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port;
        proxy_set_header    X-Forwarded-Port  $server_port;
        proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
        proxy_set_header    Host              $http_host;
        proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
 
        location ~ ^/artifactory/ {
            proxy_pass    http://<artifactory-ip>:8081;
        }
    }
}
4.2 Http
server {
          listen 80;
          
          server_name jfrog.ronds.top;

          if ($http_x_forwarded_proto = '') {
              set $http_x_forwarded_proto  $scheme;
          }

          rewrite ^/$ /ui/ redirect;
          rewrite ^/ui$ /ui/ redirect;
          chunked_transfer_encoding on;
          client_max_body_size 0;
          
          proxy_request_buffering off; # 这个就是防止卡顿的
          proxy_http_version 1.1;

          location / {
              proxy_read_timeout  2400s;
              proxy_pass_header   Server;
              proxy_cookie_path   ~*^/.* /;
              proxy_pass          http://<artifactory-ip>:8082;
              proxy_next_upstream error timeout non_idempotent;
              proxy_next_upstream_tries    1;
              proxy_set_header    X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port;
              proxy_set_header    X-Forwarded-Port  $server_port;
              proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
              proxy_set_header    Host              $http_host;
              proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;

              location ~ ^/artifactory/ {
                  proxy_pass    http://<artifactory-ip>:8081;
              }
          }
      }
4.3 K8S中使用Ingress

如果你是在K8S中使用,需要在yaml文件中加上这两个配置


image.png

5.使用脚本上传一个文件

在界面上获取脚本


image.png

这里就是上传脚本了,可以使用任意语言去上传,但是作为产物仓库,最长使用的还是curl.
这个密码可以是明文的也可以是加密后的,在左边一个Tab(Configure)那边输入密码后这这一个Tab中就能看到带密码的命令了。

上一篇 下一篇

猜你喜欢

热点阅读