这个问题与编程无关,因为它与部署相关.
我发现自己与公司中的小组进行了很多交谈,他们的工作是维护我们的生产Windows服务器并在其上部署我们的代码.出于法律和合规性的原因,我没有直接的可见性或对服务器的任何控制,因此我可以通过我给该组的指示来确定安装哪个.NET版本的唯一方法.
到目前为止,我可以想到的所有方法都可以告诉我们安装了哪个版本(检查管理工具是否匹配1.1或2.0,检查"添加/删除程序"列表中的条目,检查是否存在c:\ Windows\Microsoft.NET下的目录是有缺陷的(我在管理工具下看到至少一台2.0但没有2.0条目的机器 - 该方法没有告诉你3.0+,"添加/删除程序"列表可能与现实不同步,目录的存在并不一定意味着什么).
鉴于我通常需要提前知道这些事情已经到位(发现"哎呀,这个没有你需要的所有版本和服务包"并不适用于短维护窗口)我必须检查"通过代理",因为我无法直接访问服务器,什么是一个简单的方法来告诉生产Windows服务器上安装了哪个版本的.NET?最好使用框架安装的一些内在方法来实现,因为它会更快,不需要加载某种实用程序,如果框架没有正确安装但仍然有文件就可以肯定会失败的方法(即,有一个目录和gacutil.exe在那里,但该框架的版本并没有真正"安装")
编辑:如果没有一个很好的万无一失的内在方法来构建框架,有没有人知道一个好的,轻量级,无需安装的程序,可以找到这个?我可以想象有人可以轻松地写一个,但如果已经存在,那就更好了.
我想知道将网站移动到另一台服务器的最佳做法是什么(以及所有设置等)
只是想知道其他人的经历是什么.
我已经使用 github actions 有一段时间了,但今天我的部署开始失败。以下是 github 操作日志中的错误
Command: git
Arguments: ls-remote --tags --heads git://github.com/adobe-webplatform/eve.git
Directory: /home/runner/work/stackstream-fe/stackstream-fe
Output:
fatal: remote error:
The unauthenticated git protocol on port 9418 is no longer supported.
Run Code Online (Sandbox Code Playgroud)
经过调查,我的 yml 文件中的以下部分似乎导致了该问题。
- name: Installing modules
run: yarn install
Run Code Online (Sandbox Code Playgroud)
我已经查看了此更改日志,但似乎无法理解这个问题。
其他详细信息:服务器:EC2 实例 Github 操作步骤:
steps:
- name: Checkout
uses: actions/checkout@v2
- id: vars
run: |
if [ '${{ github.ref }}' == 'refs/heads/master' ]; then echo "::set-output name=environment::prod_stackstream" ; echo "::set-output name=api-url::api" ; elif [ '${{ github.ref …Run Code Online (Sandbox Code Playgroud) 有时这种情况发生在开发时.我会对我的源代码进行更改,点击全部保存,然后运行,但更改显然不会反映在应用程序中 - (我正在使用设备进行测试).我甚至可以在我的设备上卸载应用程序,再次点击运行,新安装的应用程序仍未反映源代码中的更改.当发生这种情况时,我必须编辑源代码,命中运行,然后可能会出现一个新版本,其中包含我预期的更改将在设备上.
我也尝试过这里的解决方案,但它似乎并不常用.
Joel在StackOverflow播客#24中提到,FogCreek公司的政策是不在星期五发布软件.但是,他没有详细说明原因.
我同意.在我的雇主,我们在周四晚上部署.所以我们周五要清理任何错过质量保证(QA)的错误.
但是,我的经理建议我们在星期五晚上部署,因为QA没有足够的时间在发布之前测试软件.我说,人们的周末计划怎么样?如果我们在星期五晚上部署,那么我们必须在星期六工作以清除任何错过的错误 - 这很糟糕.
那么为什么不在星期五发货呢?
*我们可能(不确定)需要做出这样的假设:在一个时区中有一个核心软件开发团队部署其公司的核心Web应用程序.
我遇到了一个奇怪的问题 - 显然有些Node.js模块有如此深的文件夹层次结构,当Windows Copy-Item路径超过250时,Windows复制命令(或我们实际使用的PowerShell )会遇到臭名昭着的"路径太长"错误chars long.
例如,这是单个Node模块可以创建的文件夹层次结构:
node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
Run Code Online (Sandbox Code Playgroud)
看起来很疯狂但是Node模块已经成为现实.
我们需要在部署期间使用复制粘贴(我们不使用像Heroku这样的"聪明"目标平台,其中Git部署是一个选项),这是对Windows的严重限制.
是不是有npm命令或者压缩node_modules文件夹的东西,或者只包含运行时实际需要的东西?(节点模块通常包含test我们不需要部署的文件夹等.)任何其他想法如何解决它?遗憾的是,不使用Windows不是一个选项:)
我是新手Tomcat.我们有一台开发机器,运行大约5个应用程序.即使它是开发人员,我们的客户在测试期间也会使用它.
所以说我们需要在一个类文件上做一个小的改动.现在,我们必须关闭Tomcat(影响其他四个应用程序),删除WAR文件(和Web应用程序目录),重新部署新WAR文件并重新启动Tomcat.
当然,这会让一些人感到不安,因为它会破坏所有应用程序的所有登录会话.
有一个更好的方法吗?我的意思是,有没有办法只重新加载改变的CLASS而不是dev机器上的所有内容?
谢谢.
我在Nexus服务器的自己的存储库中部署工件时遇到错误:"无法部署工件:无法传输工件""无法传输文件http:/// my_artifact.返回代码为:400"
我让Nexus运行了一个自定义存储库my_repo和下一个maven本地配置:
的settings.xml
<server>
<id>my_repo</id>
<username>user</username>
<password>pass</password>
</server>
...
<mirror>
<id>my_repo</id>
<name>Repo Mirror</name>
<url><my_url_to_my_repo></url>
<mirrorOf>*</mirrorOf>
</mirror>
Run Code Online (Sandbox Code Playgroud)
的pom.xml
<distributionManagement>
<repository>
<id>my_repo</id>
<name>my_repo</name>
<url><my_url_to_my_repo></url>
<layout>default</layout>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshots</name>
<url><my_url_to_my_snapshot_repo></url>
</snapshotRepository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)
然后我执行
mvn deploy
Run Code Online (Sandbox Code Playgroud)
并得到错误.任何的想法?
我在.NET中有一个安装项目.当我保存的项目和其他项目,以颠覆,安装项目不再编译.我收到错误"无法更新项目的依赖项".
我有两个分支,开发和生产.每个都有依赖关系,其中一些是不同的.开发指向本身正在开发的依赖项.同样适用于生产.我需要部署到Heroku,它希望每个分支的依赖关系都在一个名为'requirements.txt'的文件中.
组织的最佳方式是什么?
我想到的是: