美文网首页
安装并配置Jfrog-Artifactory

安装并配置Jfrog-Artifactory

作者: 野生DBNull | 来源:发表于2021-08-19 14:57 被阅读0次

    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中就能看到带密码的命令了。

    相关文章

      网友评论

          本文标题:安装并配置Jfrog-Artifactory

          本文链接:https://www.haomeiwen.com/subject/cczobltx.html