我想知道使用 git sha 指向依赖项的特定版本是否安全。我知道这不是一个好的做法,但有时是必要的。
我已经读到,通常情况下,不可能选择提交 ID,因为它是使用很多东西自动计算的。但没有人提到你可以在本地重建 git 来覆盖这个算法,让我们生成重复的 sha。
我没有读到 gitserver 检查它以确保 gitclient 没有“损坏”,就是这样。
那么,假设上述情况是可能的(请确认与否),sha git是否就被认为是sicured呢?
我们正在开发一个遗留项目,第一个任务是设置一个DevOps.重要的是我们对这个领域很新.
我们计划最初使用jenkins和sonarqube.让我从这些要求开始.
例如:该项目被细分为5个多模块maven项目,比如A,B,C,D和E.
1. A and C are completely independent and can be easly built
2. B depends on the artifact generated by A (jar) and has multiple maven profiles (say tomcat and websphere, it is a webservice module)
3. D depends on the artifact generated by C
4. E depends on A, B and D and has multiple maven profiles (say tomcat and websphere, it is a web project)
Run Code Online (Sandbox Code Playgroud)
基于jenkins文档来处理这种情况,我们正在考虑使用"参数化构建插件"和"扩展选择参数插件"参数化构建,借助这些插件,我们可以参数化配置文件名称.但在每次构建之前,构建器等待配置文件参数.
所以我们仍在寻找一个很好的解决方案
1. keep the dependency between …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Kubernetes 创建一堆 Pod、服务和部署,但是在我运行kubectl describe
命令时不断遇到以下错误。
for "POD" with RunContainerError: "runContainer: API error (500): Cannot start container bbdb58770a848733bf7130b1b230d809fcec3062b2b16748c5e4a8b12cc0533a: [8] System error: too many open files in system\n"
我已经终止了所有 pod 并尝试重新启动机器,但它并没有解决问题。我不是 Linux 专家,所以我只是想知道如何找到所有打开的文件并关闭它们?
我一直在尝试使用这个Dockerfile构建一个Docker镜像:
FROM mhart/alpine-node:base-6
MAINTAINER techhadmin
COPY ./package.json src/
RUN cd src && npm install
COPY . /src
WORKDIR /src
EXPOSE 3000
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
/ bin/sh:npm:not found
命令'/ bin/sh -c cd src && npm install'返回非零代码:127
知道如何解决这个问题吗?
我发现了一个类似的问题:创建多次相同的角色,但使用不同的项目, 但我不知道如何使用group_vars目录结构.
如何使用带有模板的角色来创建具有不同名称和值的多个配置文件?我也使用group_vars目录,该目录与我运行的主机运行的playbook位于同一级别.
这是我目前的样本剧本
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
- php5.6-install
Run Code Online (Sandbox Code Playgroud)
如何让角色中的每个"项目"使用不同的变量值.例如变量"name"可以在迭代时使用["test 1","test 2","test 3"]?我可以将这些值存储在文件中吗?
---
- hosts: emea-stg-web
vars_files:
- group_vars/ssh_user.yml
remote_user: "{{ ssh_user }}"
become_user: root
roles:
- nginx-install
with_items:
- test1
- test2
- test3
- php5.6-install
Run Code Online (Sandbox Code Playgroud) 我在docker中看到的一个相当常见的设置是让容器旋转执行任务然后退出.这是我经常使用docker-compose执行的操作,其中我有一个执行构建过程的节点容器,并且一旦构建了静态文件就不需要保持原状.在这些情况下,如果我查看docker-compose ps
输出,而我的其他容器已启动并在端口上公开,则节点容器状态将为"Exit 0".虽然如果我需要访问这个容器,否则它是休眠的,它可以被旋转.
将此设置转换为Kubernetes有什么好的做法?
我最初的方法是将所有内容放在一个pod中,但是容器退出会导致CrashLoopBackOff,并且由于pod重启策略,pod会一直重新启动.如果我要保留这个设置,我只希望在其他容器之一失败时重启pod.它已将构建静态文件移动到其他容器可访问的卷中.
该容器是否应该移动到另一个不重启的容器中?看起来这样会不必要地使部署复杂化.
我试图用来Helm charts
在Kubernetes集群中安装应用程序。有人可以提出什么更好的秘密管理解决方案吗?使用helm secrets
将是一个好主意还是Hashicorp Vault
?
当从旧的Artifactory服务器迁移到新服务器时,Artifactory建议此处概述的步骤:https : //jfrog.com/knowledge-base/what-is-the-best-way-to-migrate-a-large-artifactory-实例与最小停机时间/
在这两种方法下,它都表示您应该复制$ ARTIFACTORY_HOME / data / filestore,但是随后您要继续导出旧数据并将其导入新实例,并且在第一种方法中,您还要同步文件。好像您只是连续三遍做同样的事情。JFrog确实没有解释为什么这些步骤中的每个步骤都是必要的,而且我不理解每个步骤的不同之处是其他步骤无法完成的。
我得到了我的 Vue.js 应用程序的这个 docker 图像,它从在 java 后端运行的 api 获取数据。在原料药生产在其下运行app.example.com/api
,分期将下运行staging.example.com/api
和API将在运行我的本地计算机上运行时localhost:8081
。在我的计算机上运行前端时,我可能vue cli serve
在项目文件夹中使用,或者它可能使用 docker-compose 作为 docker 图像启动。后端始终作为 docker 镜像运行。
我希望能够对本地 docker-compose 使用相同的 docker 映像,部署到登台并部署到生产,但对后端 api 使用不同的 url。作为奖励,能够使用 vue-cli 服务会很好。
如何做到这一点?
devops ×10
docker ×5
kubernetes ×3
containers ×2
alpine-linux ×1
ansible ×1
ansible-role ×1
artifactory ×1
artifacts ×1
build ×1
docker-run ×1
git ×1
java ×1
jenkins ×1
linux ×1
maven ×1
node.js ×1
vue.js ×1