问题描述
我正在使用 Azure 应用服务 (Linux) 应用服务构建服务 (CI/CD) 来部署 PHP 应用程序。
我删除了文件(package.json、eraseme.PHP),但是当站点部署到 Azure 时,这些文件并没有从 /wwwroot 中删除。
Azure 应用服务构建服务执行以下操作:
- 将存储库克隆到本地目录路径“/repository”。
- 运行 package.json 和 composer.json 以安装依赖项。
- 将“/repository”复制到“/wwwroot”。
当我列出“/repository”目录的内容时,我删除的文件不存在。此目录正确反映了我的 GIT 存储库的“master”分支。
然而,当文件被移动到“/wwwroot”时,package.json 和 eraseme.PHP 文件仍然存在。
有没有其他人遇到过这个问题?如果是这样,我将不胜感激您愿意提供的任何帮助。
来自 Azure CI/CD 部署的日志:
4:45:08 PM - Updating submodules.
4:45:10 PM - Preparing deployment for commit id 'da0f786f06'.
4:45:10 PM - Repository path is /home/site/repository
4:45:10 PM - Running oryx build... (See Oryx logs below)
4:47:23 PM - Running post deployment command(s)...
4:47:24 PM - Triggering recycle (preview mode disabled).
4:47:24 PM - Deployment successful.
羚羊原木
Command: oryx build /home/site/repository -o /home/site/wwwroot --platform PHP --platform-version 7.3 -i /tmp/8d8ea4eb902b3c0 --log-file /tmp/build-debug.log
Operation performed by Microsoft Oryx,https://github.com/Microsoft/Oryx
You can report issues at https://github.com/Microsoft/Oryx/issues
Oryx Version: 0.2.20210120.1,Commit: 66c7820d7df527aaffabd2563a49ad57930999c9,ReleaseTagName: 20210120.1
Build Operation ID: |G/7ihko0yFs=.b39d9a41_
Repository Commit : da0f786f0646fc957398a50da31f19aff35f6193
Detecting platforms...
Detected following platforms:
PHP: 7.3.26
Using intermediate directory '/tmp/8d8ea4eb902b3c0'.
copying files to the intermediate directory...
Done in 52 sec(s).
Source directory : /tmp/8d8ea4eb902b3c0
Destination directory: /home/site/wwwroot
PHP executable: /tmp/oryx/platforms/PHP/7.3.26/bin/PHP
Composer archive: /opt/PHP-composer/1.9.3/composer.phar
Running 'composer install --ignore-platform-reqs --no-interaction'...
Loading composer repositories with package @R_536_4045@ion
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Package operations: 5 installs,0 updates,0 removals
- Installing ckdarby/silverpopPHP (dev-master 3b8c5ed): cloning 3b8c5ed525 from cache
- Installing robrichards/xmlseclibs (dev-master 0f54660): cloning 0f5466070e from cache
- Installing robrichards/wse-PHP (2.0.3): Loading from cache
- Installing firebase/PHP-jwt (dev-master bac0422): cloning bac0422822 from cache
- Installing salesforce-mc/fuel-sdk-PHP (dev-master 8018468): cloning 8018468706 from cache
Generating autoload files
Preparing output...
copying files to destination directory '/home/site/wwwroot'...
Done in 31 sec(s).
Removing existing manifest file
Creating a manifest file...
Manifest file created.
Done in 88 sec(s).
解决方法
看来您部署了两次。第一次包含 package.json
和 eraseme.php
,但第二次没有。
实际上kudu站点中已经存在的文件会被同名覆盖,但如果新项目不包含这些文件,则不会被删除。这不会影响您的网络应用,并且您可以手动删除它们。