开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
Computer Science

Jenkins pipeline 如何到子文件中去执行命令

如果需要在 Jenkins 的子文件夹中执行命令,我们不能使用 cd 的方式来进入子文件夹。 而是需要在 steps 中定义 Dir 如下面的配置: stage('Build VUE') { steps { echo 'Building..' dir('Vuejs/Admin') { sh 'yarn install' sh 'npx browserslist@latest --update-db' sh 'yarn build' } } }     上面的命令就可以子文件夹中执行命令。 https://www.ossez.com/t/jenkins-pipeline/14163

2022年10月25日 0Comments 745Browse 0Like Read more
Computer Science

Jenkins pipeline Git 检出的 Step

在 Jenkins 中,可以使用下面的定义来检出需要编译的代码。 stage("Pull Source Code"){ steps { git branch: 'main', credentialsId: 'd8a95129-132d-46d9-a864-06514d16feba', url: 'https://src.ossez.com/USVisaTrack/Usvisatrack-Ui.git' } } 在 Branch 后面指定我们需要检出的分支。     当上面代码执行后,将会执行检出。 https://www.ossez.com/t/jenkins-pipeline-git-step/14164

2022年10月25日 0Comments 648Browse 0Like Read more
Computer Science

USVisaTrack 前端 UI 发行版本编译和确定

在前端发行版本的确定中,我们使用的是 Jenkins 的 pipeline 构建文件来进行自动构建的。 你只需要修改 PRJ_VERSION 的版本 PRJ_VERSION 的版本号,然后将代码进行提交然后 PUSH 到 Git 仓库后,项目将会自动被编译并且将新版本的 Docker 文件推送到 Docker 的仓库中。     仓库校验 你需要确定有仓库的访问权限,访问地址:Nexus Repository Manager 这个地址是我们 Docker 容器的仓库地址。 可以在左侧找到项目的版本,然后单击版本在右侧确定版本提交的时间。     以确定前端 UI 版本被正确编译并被推送到仓库中。   https://www.usreio.com/t/usvisatrack-ui/307

2022年10月25日 0Comments 671Browse 0Like Read more
Computer Science

Maven docker-maven-plugin 插件 Push 413 错误

这个 413 错误 有 2 个方面的,第一是 nginx 反向代理的问题。 通常这个将包的大小设置到 1024m 都能解决。 我们的坑 我们的坑的错误是我们使用了 cloudflare。 cloudflare 有数据上传限制。 否则会抛出下面的的提示: <html> <head><title>413 Request Entity Too Large</title></head> <body> <center><h1>413 Request Entity Too Large</h1></center> <hr><center>cloudflare</center> </body> </html> 考古后发现下面的配置: Cloudflare limits upload size (HTTP POST request size) per plan type: 100MB Free and Pro 200MB Business 500MB Enterprise by default     如果你需要上传超过上面大小的数据的话,就不能使用 Cloudflare 的 CDN 缓存功能。 你可以只使用 Cloudflare 的 CDN 服务来解决这个问题。   https://www.ossez.com/t/maven-docker-maven-plugin-push-413/14160

2022年10月21日 0Comments 629Browse 0Like Read more
Computer Science

Fabric8 Docker Maven Plugin 如何让部署的时候执行 Docker 打包推送

配置方案在下面的这几句话。 <executions> <execution> <id>default</id> <phase>deploy</phase> <goals> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions> 上面的话,就会让 Fabric8 Docker Maven Plugin 在 maven 执行 deploy 的时候实现构建 Docker 和推送。     直接运行: mvn clean deploy 就可以完成 Docker 的打包和推送了。     完成推送。   https://www.ossez.com/t/fabric8-docker-maven-plugin-docker/14161

2022年10月21日 0Comments 658Browse 0Like Read more
Computer Science

Sonatype Nexus 如何禁用匿名访问

在后台的管理员界面中,禁用匿名访问就可以了。     在匿名访问中,取消选择匿名用户访问。 https://www.ossez.com/t/sonatype-nexus/14155  

2022年10月21日 0Comments 1314Browse 0Like Read more
Computer Science

Sonatype Nexus 管理员初始密码

如果是第一次进行登录的话,我们会看到下面的界面。 在这个界面中可以找到管理的密码。     登录后提示修改管理员密码。     提示是否允许匿名访问。     如果是公司自己的服务器话,就不需要启用匿名访问了。   https://www.ossez.com/t/sonatype-nexus/14154

2022年10月21日 0Comments 594Browse 0Like Read more
Computer Science

CentOS 上安装 Sonatype Nexus 仓库

在安装仓库之前,需要首先确定服务器上已经安装了 Java。 建议是用 11 以上的版本。11 版本是最低的需求。 我们的安装版本是 11。 下载文件 我们会把文件安装到 /opt 目录下,下载文件后解压。 cd /opt wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz tar -xvzf latest-unix.tar.gz 重命名文件夹 有 2 个文件夹需要重命名。 mv nexus-3.42.0-01/ nexus mv sonatype-work nexusdata 重命名后的文件夹如上图。 设置运行的用户权限 我们将会使用 nexus 用户来运行。 依次运行下面的命令: useradd --system --no-create-home nexus chown -R nexus:nexus /opt/nexus chown -R nexus:nexus /opt/nexusdata 来对需要运行的用户进行赋权。 修改数据文件路径 因为我们对数据文件进行了重命名了,所以我们需要修改数据文件的路径。 vim /opt/nexus/bin/nexus.vmoptions 然后保存退出。 -Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=../nexusdata/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc/karaf -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties -Dkaraf.data=../nexusdata/nexus3 -Dkaraf.log=../nexusdata/nexus3/log -Djava.io.tmpdir=../nexusdata/nexus3/tmp -Dkaraf.startLocalConsole=false -Djdk.tls.ephemeralDHKeySize=2048 # # additional vmoptions needed for Java9+ # # --add-reads=java.xml=java.logging # --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED # --patch-module java.base=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.locator-4.3.6.jar # --patch-module java.xml=${KARAF_HOME}/lib/endorsed/org.apache.karaf.specs.java.xml-4.3.6.jar # --add-opens java.base/java.security=ALL-UNNAMED # --add-opens java.base/java.net=ALL-UNNAMED # --add-opens java.base/java.lang=ALL-UNNAMED # --add-opens java.base/java.util=ALL-UNNAMED # --add-opens java.naming/javax.naming.spi=ALL-UNNAMED # --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED # --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED # --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED # --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED # --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED # --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED # --add-exports java.security.sasl/com.sun.security.sasl=ALL-UNNAMED # # comment out this vmoption when using Java9+ # -Djava.endorsed.dirs=lib/endorsed     如果你的数据文件在不同路径的话,这里也可以进行配置。 编辑 nexus.rc 文件 因为我们的运行用户名修改了,所以这个文件也需要进行修改。 /opt/nexus/bin/nexus.rc 将这行取消注释,修改为下面的内容。 run_as_user="nexus" 修改服务端地址和端口 运行下面的命令: vi /opt/nexus/etc/nexus-default.properties 将端口修改为 9090, 当然你也可以不修改这个端口,主要是为了避免和系统中的其他端口冲突。 地址修改为 127.0.0.1     修改后的端口和地址如上图。 修改用户打开文件限制 因为进程有打开文件的限制。 在文件的最后添加下面的内容。 nexus - nofile 65536 使用命令打开文件。 vi /etc/security/limits.conf 在文件的最后添加上面的内容。     设置 Nexus 为服务 使用命令编辑下面的文件: vi /etc/systemd/system/nexus.service 将下面的内容复制到这个文件中。 [Unit] Description=Nexus Service After=syslog.target network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Group=nexus Restart=on-failure [Install] WantedBy=multi-user.target 然后将上面的文件保存退出。 将服务设置开机启动,并且启动 nexus 服务。 依次运行下面的命名: systemctl daemon-reload systemctl enable nexus.service     启动服务 输入下面的命令来启动服务。 systemctl start nexus 查看服务启动状态 运行下面的命令来查看服务启动的状态。 tail -f /opt/nexusdata/nexus3/log/nexus.log     查看端口状态,如果正常启动端口应该会显示被占用。     上面显示 9090 端口被占用。 需要注意的是,第一次启动比较耗时,需要耐心等待。 校验安装 如果你没有安装反向代理,并且没有防火墙的话。 通过 9090 端口,应该就可以正常访问了。 如果能看到下面的界面,则说明安装已经成功了。   https://www.ossez.com/t/centos-sonatype-nexus/14153

2022年10月21日 0Comments 668Browse 0Like Read more
Computer Science

群晖(Synology)NAS 安装 MongoDB

首先需要在群晖的 Docker 中选择 Image,然后选择添加。     输入 Docker HUB 的地址 在弹出的对话框中输入 Docker Hub 的地址。 MongoDB 的地址为: Docker Hub     然后选择添加。 选择版本和运行 在后续的界面中,要求选择版本,我们选择最新的版本即可。 随后,我们需要稍等下把 Image 下载到整列中。 然后选择 Mongo 的版本运行即可,网络按照默认的选择。     下一步继续。     在下一个界面中需要对本地网络进行映射。     对卷进行配置,在默认情况下,可以跳过这一步。     对配置进行校验。 如果没有问题的话,直接下一步进行安装。   启动服务 在安装好的服务中,单击启动 Mongo 服务就可以了。     通过日志来查看启用的状态。   根据你 NAS 的情况不同,你可能没有办法安装到 MongoDB 的最高版本。 这个时候可能你只能用到 4.x 的版本。 如果能够在控制台上看到下面的内容,则说明已经安装成功了。   https://www.ossez.com/t/synology-nas-mongodb/14152

2022年10月20日 0Comments 920Browse 0Like Read more
Computer Science

Spring Batch 中的 chunk

我们都知道 Spring Batch 有 2 种任务方式。 主要是在 Step 阶段,在 Step 阶段,我们可以执行一个 Tasklet,我们也可以按照 Chunk 来执行。 主要区别 如果使用 Tasklet 的话,我们可以一个 Step 对应一个 Tasklet,Spring Batch 不允许一个 Step 对应多个 Tasklet。 考虑有一个场景,我们需要使用 Spring Batch 对数据库中的表进行更新,这个表可能每次 Batch 要更新 几千条数据,需要满足每 5 分钟更新一次。 如果我们采取 Tasklet 的方式的话,正常的思维都是读取需要更新的数据,然后逐条进行更新。 这个没有问题吧,但是恰恰问题就在这里。 问题就是在 Spring Batch 使用的事务,Tasklet 在启动的时候会创建一个事务,那么读取 1000 条数据,处理 1000 条数据,写入 1000 条数据都在一个事务里面。 假设这个处理时间超过 5 分钟,下一次的任务又开始启动了,这个时候 Spring Batch 还会启动一个事务。 假设 10 分钟了,我们还是没有完成,Spring Batch 会继续启动任务和创建事务。 结果是什么,这个显而易见了,就是出现事务堆积,导致锁表,然后所有的任务都失败,无法完成。 针对这种场景,我们就需要 chunk 了。 chunk Chunk 的主要目的就是为了告诉 Spring 一次执行几条记录。 我们如果设置 Chunk 为 1 的话,那么 Spring Batch 每次读取一条记录,处理一条记录,写入一条记录,然后将这个事务进行提交。 这样的话,可以有效的避免事务堆积导致的锁表。     Chunk 的大小,通常比较小,如果一次性设太大了,也会锁表。   https://www.ossez.com/t/spring-batch-chunk/14151

2022年10月20日 0Comments 744Browse 0Like Read more
1…9596979899…303
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (518)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1